X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fgraph.c;h=f5aff5bfd7a2511e71042162408e390a332d19ea;hp=12ef8b0ffd730fe8646467209172edc312fe48c7;hb=369fe1ab1cbfc3f8305de1faab2e30157378b044;hpb=ab7c61b06f6c6e991225f2fcc32d02b8e1084aee diff --git a/src/graph.c b/src/graph.c index 12ef8b0f..f5aff5bf 100644 --- a/src/graph.c +++ b/src/graph.c @@ -64,8 +64,7 @@ static bool graph_changed = true; Please note that sorting on weight is already done by add_edge(). */ -void mst_kruskal(void) -{ +void mst_kruskal(void) { avl_node_t *node, *next; edge_t *e; node_t *n; @@ -74,8 +73,6 @@ void mst_kruskal(void) int safe_edges = 0; bool skipped; - cp(); - /* Clear MST status on connections */ for(node = connection_tree->head; node; node = node->next) { @@ -148,8 +145,7 @@ void mst_kruskal(void) Running time: O(E) */ -void sssp_bfs(void) -{ +void sssp_bfs(void) { avl_node_t *node, *next, *to; edge_t *e; node_t *n; @@ -161,8 +157,6 @@ void sssp_bfs(void) char *envp[7]; int i; - cp(); - todo_list = list_alloc(NULL); /* Clear visited status on nodes */ @@ -247,10 +241,10 @@ void sssp_bfs(void) n->status.reachable = !n->status.reachable; if(n->status.reachable) { - ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Node %s (%s) became reachable"), + ifdebug(TRAFFIC) logger(LOG_DEBUG, "Node %s (%s) became reachable", n->name, n->hostname); } else { - ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Node %s (%s) became unreachable"), + ifdebug(TRAFFIC) logger(LOG_DEBUG, "Node %s (%s) became unreachable", n->name, n->hostname); } @@ -292,12 +286,14 @@ void sssp_bfs(void) free(envp[i]); subnet_update(n, NULL, n->status.reachable); + + if(!n->status.reachable) + update_node_udp(n, NULL); } } } -void graph(void) -{ +void graph(void) { subnet_cache_flush(); sssp_bfs(); mst_kruskal(); @@ -312,8 +308,7 @@ void graph(void) dot -Tpng graph_filename -o image_filename.png -Gconcentrate=true */ -void dump_graph(void) -{ +void dump_graph(void) { avl_node_t *node; node_t *n; edge_t *e;