Gateway debug output at debug level 3
authorHenning Rogge <hrogge@googlemail.com>
Tue, 5 Jan 2010 19:46:25 +0000 (20:46 +0100)
committerHenning Rogge <hrogge@googlemail.com>
Tue, 5 Jan 2010 19:46:25 +0000 (20:46 +0100)
src/gateway.c
src/gateway.h
src/olsr.c

index 957630f..300eb50 100644 (file)
@@ -7,9 +7,11 @@
 
 #include "common/avl.h"
 #include "defs.h"
+#include "ipcalc.h"
 #include "olsr.h"
 #include "olsr_cfg.h"
 #include "olsr_cookie.h"
+#include "scheduler.h"
 #include "gateway.h"
 
 struct avl_tree gateway_tree;
@@ -130,3 +132,19 @@ bool olsr_is_smart_gateway(union olsr_ip_addr *net, union olsr_ip_addr *mask) {
 
   return ip[0] > 0 && ip[1] > 0;
 }
+
+void
+olsr_print_gateway(void) {
+#ifndef NODEBUG
+  struct ipaddr_str buf;
+  struct gateway_entry *gw;
+  const int addrsize = olsr_cnf->ip_version == AF_INET ? 15 : 39;
+
+  OLSR_PRINTF(0, "\n--- %s ---------------------------------------------------- GATEWAYS\n\n", olsr_wallclock_string());
+  OLSR_PRINTF(0, "%-*s  %-9s %-9s\n", addrsize, "IP address", "Uplink", "Downlink");
+
+  OLSR_FOR_ALL_GATEWAY_ENTRIES(gw) {
+    OLSR_PRINTF(0, "%-*s  %-9u %-9u\n", addrsize, olsr_ip_to_string(&buf, &gw->originator), gw->uplink, gw->downlink);
+  } OLSR_FOR_ALL_GATEWAY_ENTRIES_END(gw)
+#endif
+}
index d7b04f4..bc42f2e 100644 (file)
@@ -39,5 +39,6 @@ struct gateway_entry *olsr_find_gateway(union olsr_ip_addr *originator);
 void olsr_set_gateway(union olsr_ip_addr *originator, union olsr_ip_addr *subnetmask);
 void olsr_delete_gateway(union olsr_ip_addr *originator);
 bool olsr_is_smart_gateway(union olsr_ip_addr *net, union olsr_ip_addr *mask);
+void olsr_print_gateway(void);
 
 #endif /* GATEWAY_H_ */
index 43fcd07..e0fb1ee 100644 (file)
@@ -63,6 +63,7 @@
 #include "common/avl.h"
 #include "net_olsr.h"
 #include "lq_plugin.h"
+#include "gateway.h"
 
 #include <stdarg.h>
 #include <signal.h>
@@ -201,6 +202,7 @@ olsr_process_changes(void)
   if (olsr_cnf->debug_level > 0) {
     if (olsr_cnf->debug_level > 2) {
       olsr_print_mid_set();
+      olsr_print_gateway();
 
       if (olsr_cnf->debug_level > 3) {
         if (olsr_cnf->debug_level > 8) {