Indirect routing issue?

Tim Eggleston tim.lists at eggleston.ca
Sat Aug 1 00:21:34 CEST 2015


Hi there,

I am experiencing an annoying but not critical issue with (I think) 
tinc's internal routing. My setup is this:

HostA (local. ConnectTo = HostC)
HostB (geographically close. ConnectTo = HostC)
HostC (far away. ConnectTo = nothing)

Without tinc, pings from HostA to HostB take around 10ms, and from 
HostA/B to HostC around 200ms.

With tinc, pings from HostA to HostB take nearly 400ms. HostA/B to HostC 
are essentially unchanged.

Based on the numbers it kind of seems like under tinc, traffic from 
HostA to HostB is being routed via HostC, all the way on the other side 
of the world. This seems like a strange decision giving that the direct 
path is clearly faster. What's the best way to debug this, can I prove 
that the routing is indirect? The only potential cause I can see in the 
below dumps is that the PMTU from HostA to HostB is very small. Maybe 
tinc is deciding that the path with higher initial MTU is better quality 
-- even though the PMTU from HostC to HostB is small as well?

Reachability for all nodes is "directly with UDP".

[HostA]#: tinc -n mesh1 dump nodes
HostA id e45fbb0b9280 at MYSELF port 655 cipher 0 digest 0 maclength 0 
compression 0 options 400000c status 0058 nexthop HostA via HostA 
distance 0 pmtu 1518 (min 0 max 1518)
HostC id a86da73de11c at x.x.x.x port 655 cipher 0 digest 0 maclength 0 
compression 0 options 400000c status 00da nexthop HostC via HostC 
distance 1 pmtu 1439 (min 1439 max 1439)
HostB id a3f13bbc5110 at 172.16.16.5 port 655 cipher 0 digest 0 
maclength 0 compression 0 options 400000c status 00da nexthop HostC via 
HostB distance 2 pmtu 512 (min 512 max 512)

[HostB]#: tinc -n mesh1 dump nodes
HostA id e45fbb0b9280 at 172.16.16.4 port 655 cipher 0 digest 0 
maclength 0 compression 0 options 400000c status 00da nexthop HostC via 
HostA distance 2 pmtu 515 (min 515 max 515)
HostC id a86da73de11c at 172.16.16.1 port 655 cipher 0 digest 0 
maclength 0 compression 0 options 400000c status 00da nexthop HostC via 
HostC distance 1 pmtu 515 (min 515 max 515)
HostB id a3f13bbc5110 at MYSELF port 655 cipher 0 digest 0 maclength 0 
compression 0 options 400000c status 0058 nexthop HostB via HostB 
distance 0 pmtu 1518 (min 0 max 1518)

[HostC]#: tinc -n mesh1 dump nodes
HostA id e45fbb0b9280 at x.x.x.x port 655 cipher 0 digest 0 maclength 0 
compression 0 options 400000c status 00da nexthop HostA via HostA 
distance 1 pmtu 1439 (min 1439 max 1439)
HostC id a86da73de11c at MYSELF port 655 cipher 0 digest 0 maclength 0 
compression 0 options 400000c status 0058 nexthop HostC via HostC 
distance 0 pmtu 1518 (min 0 max 1518)
HostB id a3f13bbc5110 at 172.16.16.5 port 655 cipher 0 digest 0 
maclength 0 compression 0 options 400000c status 00da nexthop HostB via 
HostB distance 1 pmtu 508 (min 508 max 508)

Cheers,

  ---tim


More information about the tinc mailing list