X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fgraph.c;h=e570febb81ad97951c0889e39375eec61bac5108;hp=c0a5d0a60575c7fe52a6707fef939fce28dd3114;hb=4d7469e0da6652bddc8acde499068db4b41b646d;hpb=7939ee12836bf2ef772f2a6a1e805ee0d64a8e70 diff --git a/src/graph.c b/src/graph.c index c0a5d0a6..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,11 +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->udp_ping_timeout); - timeout_del(&n->mtutimeout); char *name; char *address; @@ -276,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); } }