Increase the ReplayWindow default from 16 to 32.
As a rule, it seems reasonable to make sure that tinc operates correctly on at least 1G links, since these are pretty common. However, I have observed replay window issues when operating at speeds of 600 Mbit/s and above, especially when the receiving end is a Windows system (not sure why). This commit increases the default so that this won't occur on fresh setups.
This commit is contained in:
		
							parent
							
								
									94f49a163a
								
							
						
					
					
						commit
						7027bba541
					
				
					 3 changed files with 5 additions and 5 deletions
				
			
		|  | @ -464,10 +464,10 @@ and | ||||||
| .Ev REMOTEPORT | .Ev REMOTEPORT | ||||||
| are available. | are available. | ||||||
| .El | .El | ||||||
| .It Va ReplayWindow Li = Ar bytes Pq 16 | .It Va ReplayWindow Li = Ar bytes Pq 32 | ||||||
| This is the size of the replay tracking window for each remote node, in bytes. | This is the size of the replay tracking window for each remote node, in bytes. | ||||||
| The window is a bitfield which tracks 1 packet per bit, so for example | The window is a bitfield which tracks 1 packet per bit, so for example | ||||||
| the default setting of 16 will track up to 128 packets in the window. In high | the default setting of 32 will track up to 256 packets in the window. In high | ||||||
| bandwidth scenarios, setting this to a higher value can reduce packet loss from | bandwidth scenarios, setting this to a higher value can reduce packet loss from | ||||||
| the interaction of replay tracking with underlying real packet loss and/or | the interaction of replay tracking with underlying real packet loss and/or | ||||||
| reordering. Setting this to zero will disable replay tracking completely and | reordering. Setting this to zero will disable replay tracking completely and | ||||||
|  |  | ||||||
|  | @ -1207,10 +1207,10 @@ The environment variables @env{NAME}, @env{NODE}, @env{REMOTEADDRES} and @env{RE | ||||||
| @end table | @end table | ||||||
| 
 | 
 | ||||||
| @cindex ReplayWindow | @cindex ReplayWindow | ||||||
| @item ReplayWindow = <bytes> (16) | @item ReplayWindow = <bytes> (32) | ||||||
| This is the size of the replay tracking window for each remote node, in bytes. | This is the size of the replay tracking window for each remote node, in bytes. | ||||||
| The window is a bitfield which tracks 1 packet per bit, so for example | The window is a bitfield which tracks 1 packet per bit, so for example | ||||||
| the default setting of 16 will track up to 128 packets in the window. In high | the default setting of 32 will track up to 256 packets in the window. In high | ||||||
| bandwidth scenarios, setting this to a higher value can reduce packet loss from | bandwidth scenarios, setting this to a higher value can reduce packet loss from | ||||||
| the interaction of replay tracking with underlying real packet loss and/or | the interaction of replay tracking with underlying real packet loss and/or | ||||||
| reordering. Setting this to zero will disable replay tracking completely and | reordering. Setting this to zero will disable replay tracking completely and | ||||||
|  |  | ||||||
|  | @ -64,7 +64,7 @@ static char lzo_wrkmem[LZO1X_999_MEM_COMPRESS > LZO1X_1_MEM_COMPRESS ? LZO1X_999 | ||||||
| 
 | 
 | ||||||
| static void send_udppacket(node_t *, vpn_packet_t *); | static void send_udppacket(node_t *, vpn_packet_t *); | ||||||
| 
 | 
 | ||||||
| unsigned replaywin = 16; | unsigned replaywin = 32; | ||||||
| bool localdiscovery = true; | bool localdiscovery = true; | ||||||
| bool udp_discovery = true; | bool udp_discovery = true; | ||||||
| int udp_discovery_keepalive_interval = 10; | int udp_discovery_keepalive_interval = 10; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue