X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fgraph.c;h=e570febb81ad97951c0889e39375eec61bac5108;hb=ae89a25695411149a7499189c9771762ad1f1726;hp=c95ab91e629d668a275e35862cc028272a7b6419;hpb=98716a227ee39fdcdfafa7309adb73499311a2ce;p=tinc diff --git a/src/graph.c b/src/graph.c index c95ab91e..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,6 +238,7 @@ static void check_reachability(void) { n->status.udp_confirmed = false; n->maxmtu = MTU; + n->maxrecentlen = 0; n->minmtu = 0; n->mtuprobes = 0; @@ -275,6 +276,10 @@ static void check_reachability(void) { update_node_udp(n, NULL); memset(&n->status, 0, sizeof n->status); n->options = 0; + } else if(n->connection) { + // Speed up UDP probing by sending our key. + if(!n->status.sptps) + send_ans_key(n); } }