X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fgraph.c;h=e570febb81ad97951c0889e39375eec61bac5108;hp=690f4bd53fd30ed5caf2894432049b2ca1f48965;hb=cda5a477c8138226d184a176256d559971b4f7ed;hpb=7ac52637659b7f17ab5139010f0436aefcf9625c diff --git a/src/graph.c b/src/graph.c index 690f4bd5..e570febb 100644 --- a/src/graph.c +++ b/src/graph.c @@ -149,7 +149,7 @@ static void sssp_bfs(void) { abort(); for splay_each(edge_t, e, n->edge_tree) { /* "e" is the edge connected to "from" */ - if(!e->reverse) + if(!e->reverse || e->to == myself) continue; /* Situation: @@ -238,10 +238,11 @@ static void check_reachability(void) { n->status.udp_confirmed = false; n->maxmtu = MTU; + n->maxrecentlen = 0; n->minmtu = 0; n->mtuprobes = 0; - timeout_del(&n->mtutimeout); + timeout_del(&n->udp_ping_timeout); char *name; char *address; @@ -276,12 +277,9 @@ static void check_reachability(void) { memset(&n->status, 0, sizeof n->status); n->options = 0; } else if(n->connection) { - if(n->status.sptps) { - if(n->connection->outgoing) - send_req_key(n); - } else { + // Speed up UDP probing by sending our key. + if(!n->status.sptps) send_ans_key(n); - } } }