Nodes should only be in the node_udp_tree if they are reachable.
authorGuus Sliepen <guus@tinc-vpn.org>
Tue, 4 Jan 2005 22:19:56 +0000 (22:19 +0000)
committerGuus Sliepen <guus@tinc-vpn.org>
Tue, 4 Jan 2005 22:19:56 +0000 (22:19 +0000)
src/graph.c
src/node.c

index a3fe0ce..f6ce90d 100644 (file)
@@ -258,9 +258,11 @@ void sssp_bfs(void)
                        if(n->status.reachable) {
                                ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Node %s (%s) became reachable"),
                                           n->name, n->hostname);
                        if(n->status.reachable) {
                                ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Node %s (%s) became reachable"),
                                           n->name, n->hostname);
+                               avl_insert(node_udp_tree, n);
                        } else {
                                ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Node %s (%s) became unreachable"),
                                           n->name, n->hostname);
                        } else {
                                ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Node %s (%s) became unreachable"),
                                           n->name, n->hostname);
+                               avl_delete(node_udp_tree, n);
                        }
 
                        n->status.validkey = false;
                        }
 
                        n->status.validkey = false;
index b6ba1b4..9f1a78a 100644 (file)
@@ -123,7 +123,6 @@ void node_add(node_t *n)
        cp();
 
        avl_insert(node_tree, n);
        cp();
 
        avl_insert(node_tree, n);
-       avl_insert(node_udp_tree, n);
 }
 
 void node_del(node_t *n)
 }
 
 void node_del(node_t *n)
@@ -147,7 +146,6 @@ void node_del(node_t *n)
        }
 
        avl_delete(node_tree, n);
        }
 
        avl_delete(node_tree, n);
-       avl_delete(node_udp_tree, n);
 }
 
 node_t *lookup_node(char *name)
 }
 
 node_t *lookup_node(char *name)