]> git.meshlink.io Git - meshlink/blobdiff - src/graph.c
Don't reset the UDP SPTPS session when a node becomes reachable.
[meshlink] / src / graph.c
index 1efdb26c9b21ad73a809a9fa95ec16076528c8c7..56ef11db382deb39f5268cb0e8a34fcfc198f4a1 100644 (file)
@@ -193,10 +193,13 @@ static void check_reachability(meshlink_handle_t *mesh) {
 
                        /* TODO: only clear status.validkey if node is unreachable? */
 
-                       n->status.validkey = false;
-                       sptps_stop(&n->sptps);
-                       n->status.waitingforkey = false;
-                       n->last_req_key = -3600;
+                       if(!n->status.reachable) {
+                               logger(mesh, MESHLINK_DEBUG, "Resetting validkey/waitingforkey for %s, reachable %d", n->name, n->status.reachable);
+                               n->status.validkey = false;
+                               sptps_stop(&n->sptps);
+                               n->status.waitingforkey = false;
+                               n->last_req_key = -3600;
+                       }
 
                        n->status.udp_confirmed = false;
                        n->maxmtu = MTU;