Don't try to send MTU probes to unreachable nodes.
[tinc] / src / net_packet.c
index 40d9451..9f61275 100644 (file)
@@ -70,6 +70,11 @@ void send_mtu_probe(node_t *n)
        n->mtuprobes++;
        n->mtuevent = NULL;
 
+       if(!n->status.reachable) {
+               ifdebug(TRAFFIC) logger(LOG_INFO, _("Trying to send MTU probe to unreachable node %s (%s)"), n->name, n->hostname);
+               return;
+       }
+
        if(n->mtuprobes >= 10 && !n->minmtu) {
                ifdebug(TRAFFIC) logger(LOG_INFO, _("No response to MTU probes from %s (%s)"), n->name, n->hostname);
                return;
@@ -328,6 +333,11 @@ static void send_udppacket(node_t *n, vpn_packet_t *origpkt)
 
        cp();
 
+       if(!n->status.reachable) {
+               ifdebug(TRAFFIC) logger(LOG_INFO, _("Trying to send UDP packet to unreachable node %s (%s)"), n->name, n->hostname);
+               return;
+       }
+
        /* Make sure we have a valid key */
 
        if(!n->status.validkey) {