Make maxmtu equal to minmtu when fixing the path MTU to a node.
authorGuus Sliepen <guus@tinc-vpn.org>
Sat, 24 Oct 2009 19:35:40 +0000 (21:35 +0200)
committerGuus Sliepen <guus@tinc-vpn.org>
Sat, 24 Oct 2009 19:35:40 +0000 (21:35 +0200)
This ensures MTU probes used to ping nodes are not too large, and prevents
restarting MTU probing unnecessarily.

src/net_packet.c

index 626f8b1..3466f87 100644 (file)
@@ -91,6 +91,10 @@ void send_mtu_probe(node_t *n) {
        }
 
        if(n->mtuprobes == 30 || (n->mtuprobes < 30 && n->minmtu >= n->maxmtu)) {
+               if(n->minmtu > n->maxmtu)
+                       n->minmtu = n->maxmtu;
+               else
+                       n->maxmtu = n->minmtu;
                n->mtu = n->minmtu;
                ifdebug(TRAFFIC) logger(LOG_INFO, "Fixing MTU of %s (%s) to %d after %d probes", n->name, n->hostname, n->mtu, n->mtuprobes);
                n->mtuprobes = 31;