X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fgraph.c;h=3692f4463baddcd9ef7e3275c5e8363de216db41;hp=d1bd2ac34c908a8f9c569f4e92189e5f798f5e38;hb=5db596c6844169f1eb5f804b72abe99d067aaa5a;hpb=f75dcef72a81a337e847adf0bae54198894f65b9 diff --git a/src/graph.c b/src/graph.c index d1bd2ac3..3692f446 100644 --- a/src/graph.c +++ b/src/graph.c @@ -1,7 +1,7 @@ /* graph.c -- graph algorithms - Copyright (C) 2001-2002 Guus Sliepen , - 2001-2002 Ivo Timmermans + Copyright (C) 2001-2003 Guus Sliepen , + 2001-2003 Ivo Timmermans This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: graph.c,v 1.1.2.19 2002/09/09 21:24:34 guus Exp $ + $Id: graph.c,v 1.1.2.24 2003/07/12 17:41:45 guus Exp $ */ /* We need to generate two trees from the graph: @@ -47,8 +47,6 @@ #include "config.h" #include -#include -#include "config.h" #include #ifdef HAVE_SYS_PARAM_H #include @@ -64,6 +62,7 @@ #include "connection.h" #include "process.h" #include "device.h" +#include "logger.h" #include "system.h" @@ -96,8 +95,7 @@ void mst_kruskal(void) if(!edge_weight_tree->head) return; - if(debug_lvl >= DEBUG_SCARY_THINGS) - syslog(LOG_DEBUG, "Running Kruskal's algorithm:"); + ifdebug(SCARY_THINGS) logger(LOG_DEBUG, "Running Kruskal's algorithm:"); /* Clear visited status on nodes */ @@ -133,8 +131,7 @@ void mst_kruskal(void) safe_edges++; - if(debug_lvl >= DEBUG_SCARY_THINGS) - syslog(LOG_DEBUG, " Adding edge %s - %s weight %d", e->from->name, + ifdebug(SCARY_THINGS) logger(LOG_DEBUG, " Adding edge %s - %s weight %d", e->from->name, e->to->name, e->weight); if(skipped) { @@ -144,8 +141,7 @@ void mst_kruskal(void) } } - if(debug_lvl >= DEBUG_SCARY_THINGS) - syslog(LOG_DEBUG, "Done, counted %d nodes and %d safe edges.", nodes, + ifdebug(SCARY_THINGS) logger(LOG_DEBUG, "Done, counted %d nodes and %d safe edges.", nodes, safe_edges); } @@ -202,26 +198,25 @@ void sssp_bfs(void) /* Situation: - / + / / ------(n)-----(e->to) \ - \ + \ n->address is set to the e->address of the edge left of n to n. We are currently examining the edge e right of n from n: - If e->reverse->address != n->address, then e->to is probably - not reachable for the nodes left of n. We do as if the indirectdata - flag is set on edge e. + not reachable for the nodes left of n. We do as if the indirectdata + flag is set on edge e. - If edge e provides for better reachability of e->to, update - e->to and (re)add it to the todo_tree to (re)examine the reachability - of nodes behind it. + e->to and (re)add it to the todo_tree to (re)examine the reachability + of nodes behind it. */ indirect = n->status.indirect || e->options & OPTION_INDIRECT - || ((n != myself) - && sockaddrcmp(&n->address, &e->reverse->address)); + || ((n != myself) && sockaddrcmp(&n->address, &e->reverse->address)); if(e->to->status.visited && (!e->to->status.indirect || indirect)) @@ -264,13 +259,13 @@ void sssp_bfs(void) if(n->status.visited != n->status.reachable) { n->status.reachable = !n->status.reachable; - if(debug_lvl >= DEBUG_TRAFFIC) - if(n->status.reachable) - syslog(LOG_DEBUG, _("Node %s (%s) became reachable"), - n->name, n->hostname); - else - syslog(LOG_DEBUG, _("Node %s (%s) became unreachable"), - n->name, n->hostname); + if(n->status.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"), + n->name, n->hostname); + } n->status.validkey = 0; n->status.waitingforkey = 0;