Fix UDP/MTU discovery in intermediate SPTPS UDP relays.
Refactoring commit 81578484dc seems to
have introduced a regression as it moved discovery code away from
send_sptps_data_priv() and within send_packet(). The issue is,
send_packet() is not called when the node is simply relaying an UDP
SPTPS packet: indeed, send_sptps_data_priv() is called directly from
handle_incoming_vpn_data() in that case.
As a result, try_tx_sptps() is not called in the relaying case, which in
practice means that a relay doesn't initiate UDP/MTU discovery with the
next relay (unless some other activity compels it to do so). This can
result in packets getting sent over TCP instead of UDP from the relay.
			
			
This commit is contained in:
		
							parent
							
								
									0f8e2cc78c
								
							
						
					
					
						commit
						c23e50385d
					
				
					 1 changed files with 1 additions and 0 deletions
				
			
		|  | @ -1396,6 +1396,7 @@ skip_harder: | |||
| 
 | ||||
| 		if(to != myself) { | ||||
| 			send_sptps_data_priv(to, n, 0, DATA(&pkt), pkt.len - 2 * sizeof(node_id_t)); | ||||
| 			try_tx_sptps(n, true); | ||||
| 			return; | ||||
| 		} | ||||
| 	} else { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue