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