mirror of
https://github.com/markqvist/Reticulum.git
synced 2025-02-25 00:50:20 -05:00
Link MTU upgrade on AutoInterface
This commit is contained in:
parent
d898641e6a
commit
350687eda9
@ -33,6 +33,9 @@ import RNS
|
|||||||
|
|
||||||
|
|
||||||
class AutoInterface(Interface):
|
class AutoInterface(Interface):
|
||||||
|
HW_MTU = 1196
|
||||||
|
FIXED_MTU = True
|
||||||
|
|
||||||
DEFAULT_DISCOVERY_PORT = 29716
|
DEFAULT_DISCOVERY_PORT = 29716
|
||||||
DEFAULT_DATA_PORT = 42671
|
DEFAULT_DATA_PORT = 42671
|
||||||
DEFAULT_GROUP_ID = "reticulum".encode("utf-8")
|
DEFAULT_GROUP_ID = "reticulum".encode("utf-8")
|
||||||
@ -103,8 +106,7 @@ class AutoInterface(Interface):
|
|||||||
super().__init__()
|
super().__init__()
|
||||||
self.netinfo = niwrapper
|
self.netinfo = niwrapper
|
||||||
|
|
||||||
self.HW_MTU = 1064
|
self.HW_MTU = AutoInterface.HW_MTU
|
||||||
|
|
||||||
self.IN = True
|
self.IN = True
|
||||||
self.OUT = False
|
self.OUT = False
|
||||||
self.name = name
|
self.name = name
|
||||||
|
@ -65,6 +65,7 @@ class Interface:
|
|||||||
IC_HELD_RELEASE_INTERVAL = 30
|
IC_HELD_RELEASE_INTERVAL = 30
|
||||||
|
|
||||||
AUTOCONFIGURE_MTU = False
|
AUTOCONFIGURE_MTU = False
|
||||||
|
FIXED_MTU = False
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.rxb = 0
|
self.rxb = 0
|
||||||
|
@ -185,7 +185,7 @@ class Resource:
|
|||||||
resource.window_min = Resource.WINDOW_MIN
|
resource.window_min = Resource.WINDOW_MIN
|
||||||
resource.window_flexibility = Resource.WINDOW_FLEXIBILITY
|
resource.window_flexibility = Resource.WINDOW_FLEXIBILITY
|
||||||
resource.last_activity = time.time()
|
resource.last_activity = time.time()
|
||||||
resource.started_transferring = self.last_activity
|
resource.started_transferring = resource.last_activity
|
||||||
|
|
||||||
resource.storagepath = RNS.Reticulum.resourcepath+"/"+resource.original_hash.hex()
|
resource.storagepath = RNS.Reticulum.resourcepath+"/"+resource.original_hash.hex()
|
||||||
resource.segment_index = adv.i
|
resource.segment_index = adv.i
|
||||||
|
@ -90,7 +90,7 @@ class Reticulum:
|
|||||||
the default value.
|
the default value.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
LINK_MTU_DISCOVERY = True
|
LINK_MTU_DISCOVERY = False
|
||||||
"""
|
"""
|
||||||
Whether automatic link MTU discovery is enabled by default in this
|
Whether automatic link MTU discovery is enabled by default in this
|
||||||
release. Link MTU discovery significantly increases throughput over
|
release. Link MTU discovery significantly increases throughput over
|
||||||
|
@ -1336,7 +1336,7 @@ class Transport:
|
|||||||
RNS.log(f"No next-hop HW MTU, disabling link MTU upgrade", RNS.LOG_DEBUG) # TODO: Remove debug
|
RNS.log(f"No next-hop HW MTU, disabling link MTU upgrade", RNS.LOG_DEBUG) # TODO: Remove debug
|
||||||
path_mtu = None
|
path_mtu = None
|
||||||
new_raw = new_raw[:-RNS.Link.LINK_MTU_SIZE]
|
new_raw = new_raw[:-RNS.Link.LINK_MTU_SIZE]
|
||||||
elif not outbound_interface.AUTOCONFIGURE_MTU:
|
elif not outbound_interface.AUTOCONFIGURE_MTU and not outbound_interface.FIXED_MTU:
|
||||||
RNS.log(f"Outbound interface doesn't support MTU autoconfiguration, disabling link MTU upgrade", RNS.LOG_DEBUG) # TODO: Remove debug
|
RNS.log(f"Outbound interface doesn't support MTU autoconfiguration, disabling link MTU upgrade", RNS.LOG_DEBUG) # TODO: Remove debug
|
||||||
path_mtu = None
|
path_mtu = None
|
||||||
new_raw = new_raw[:-RNS.Link.LINK_MTU_SIZE]
|
new_raw = new_raw[:-RNS.Link.LINK_MTU_SIZE]
|
||||||
@ -1799,7 +1799,7 @@ class Transport:
|
|||||||
for destination in Transport.destinations:
|
for destination in Transport.destinations:
|
||||||
if destination.hash == packet.destination_hash and destination.type == packet.destination_type:
|
if destination.hash == packet.destination_hash and destination.type == packet.destination_type:
|
||||||
path_mtu = RNS.Link.mtu_from_lr_packet(packet)
|
path_mtu = RNS.Link.mtu_from_lr_packet(packet)
|
||||||
if packet.receiving_interface.AUTOCONFIGURE_MTU:
|
if packet.receiving_interface.AUTOCONFIGURE_MTU or packet.receiving_interface.FIXED_MTU:
|
||||||
nh_mtu = packet.receiving_interface.HW_MTU
|
nh_mtu = packet.receiving_interface.HW_MTU
|
||||||
else:
|
else:
|
||||||
nh_mtu = RNS.Reticulum.MTU
|
nh_mtu = RNS.Reticulum.MTU
|
||||||
@ -2280,7 +2280,7 @@ class Transport:
|
|||||||
def next_hop_interface_hw_mtu(destination_hash):
|
def next_hop_interface_hw_mtu(destination_hash):
|
||||||
next_hop_interface = Transport.next_hop_interface(destination_hash)
|
next_hop_interface = Transport.next_hop_interface(destination_hash)
|
||||||
if next_hop_interface != None:
|
if next_hop_interface != None:
|
||||||
if next_hop_interface.AUTOCONFIGURE_MTU:
|
if next_hop_interface.AUTOCONFIGURE_MTU or next_hop_interface.FIXED_MTU:
|
||||||
return next_hop_interface.HW_MTU
|
return next_hop_interface.HW_MTU
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
Loading…
x
Reference in New Issue
Block a user