Don't send MTU probes to nodes we can't reach directly.
authorEtienne Dechamps <etienne@edechamps.fr>
Sat, 4 Oct 2014 13:25:16 +0000 (14:25 +0100)
committerEtienne Dechamps <etienne@edechamps.fr>
Sat, 4 Oct 2014 14:11:46 +0000 (15:11 +0100)
commit63daebcd1ec2975c0c2ad8e0ee0fced33b1fbbf0
tree6bfaa66ce81c7b0b2c72848cb3c54c8506ed3c1b
parent111040d7d1993c67246c52cbfd073183818655f9
Don't send MTU probes to nodes we can't reach directly.

Currently, we send MTU probes to each node we receive a key for, even if
we know we will never send UDP packets to that node because of
indirection. This commit disables MTU probing between nodes that have
direct communication disabled, otherwise MTU probes end up getting sent
through relays.

With the legacy protocol this was never a problem because we would never
request the key of a node with indirection enabled; with SPTPS this was
not a problem until we introduced relaying because send_sptps_data()
would simply ignore indirections, but this is not the case anymore.

Note that the fix is implemented in a quick and dirty way, by disabling
the call to send_mtu_probe() in ans_key_h(); this is not a clean fix
because there's no code to resume sending MTU probes in case the
indirection disappears because of a graph change.
src/protocol_key.c