Packet loss with LocalDiscovery

Etienne Dechamps etienne at edechamps.fr
Mon Jul 15 20:45:04 CEST 2013


Hi,

I believe I have found a bug with regard to the LocalDiscovery feature. 
This is on tinc-1.1pre7 between two Windows nodes.

Steps to reproduce:
- Get two nodes talking using LocalDiscovery (e.g. put them on the same 
LAN behind a NAT with no metaconnection to each other)
- Make one ping the other.

Expected result:
- The two nodes should ping each other without any packet loss, 
hopefully at LAN latencies.

Actual result:
- I'm experiencing packet loss every (PingInterval) seconds. Each packet 
loss "episode" lasts roughly 1 second and during that time all packets 
are lost. Apparently it happens each time the nodes are exchanging PMTU 
probes. Packet loss correlates with "Sending/Got MTU probe" messages. It 
also materializes in the form of "Received UDP packet from unknown 
source <LAN Address>" messages.
- There seems to be some "flapping" with regard to the local host 
discovery itself, meaning that it sometimes reverts to the "normal" mode 
of communication for a brief time for no reason. This can be seen as 
elevated latencies.

For aggressive PingInterval values (e.g. 3 seconds) this makes the link 
between the two nodes basically unusable with 30%+ packet loss.

My hypothesis is that during PMTU discovery tinc "forgets" about the 
other node's locally discovered address, which results in packet loss 
because it doesn't recognize packets coming from the local address 
anymore and makes it revert to "classic mode" for a brief time. Then 
after a moment local discovery kicks in again and fixes the situation, 
until PMTU discovery happens again, and so on.

I will continue investigating and try to come up with a fix.

-- 
Etienne Dechamps


More information about the tinc-devel mailing list