More logger stuff
authorHenning Rogge <hrogge@googlemail.com>
Sun, 15 Mar 2009 19:11:07 +0000 (20:11 +0100)
committerHenning Rogge <hrogge@googlemail.com>
Sun, 15 Mar 2009 19:11:07 +0000 (20:11 +0100)
src/net_olsr.c
src/olsr.c
src/olsr_cfg_data.c
src/olsr_cfg_data.h
src/olsr_cookie.c
src/olsr_spf.c
src/parser.c
src/plugin_loader.c
src/plugin_util.c
src/process_package.c

index f19a11d..c5aae80 100644 (file)
@@ -46,6 +46,7 @@
 #include "print_packet.h"
 #include "link_set.h"
 #include "lq_packet.h"
+#include "olsr_logging.h"
 
 #include <stdlib.h>
 #include <assert.h>
@@ -54,7 +55,7 @@
 
 static void olsr_add_invalid_address(const union olsr_ip_addr *);
 
-#ifdef WIN32
+#if 0 // WIN32
 #define perror(x) WinSockPError(x)
 void
 WinSockPError(const char *);
@@ -101,7 +102,7 @@ init_net(void)
   for (; *defaults != NULL; defaults++) {
     union olsr_ip_addr addr;
     if (inet_pton(olsr_cnf->ip_version, *defaults, &addr) <= 0){
-      fprintf(stderr, "Error converting fixed IP %s for deny rule!!\n", *defaults);
+      OLSR_WARN(LOG_NETWORKING, "Error converting fixed IP %s for deny rule!!\n", *defaults);
       continue;
     }
     olsr_add_invalid_address(&addr);
@@ -370,16 +371,14 @@ net_output(struct interface *ifp)
                  &dstaddr.sin,
                  dstaddr_size) < 0) {
     const int save_errno = errno;
-#if 1
+#if !defined REMOVE_DEBUG
     char sabuf[1024];
-    dstaddr.sin.sa_family = olsr_cnf->ip_version;
-    fprintf(stderr, "OLSR: sendto IPv%d: %s\n", olsr_cnf->ip_version == AF_INET ? 4 : 6, strerror(save_errno));
-    fprintf(stderr, "To: %s (size: %d)\n", sockaddr_to_string(sabuf, sizeof(sabuf), &dstaddr.sin, dstaddr_size), dstaddr_size);
-    fprintf(stderr, "Socket: %d interface: %d/%s\n", ifp->olsr_socket, ifp->if_index, ifp->int_name);
-    fprintf(stderr, "Outputsize: %d\n", ifp->netbuf.pending);
 #endif
-
-    OLSR_WARN(LOG_NETWORKING, "OLSR: sendto IPv%d: %s", olsr_cnf->ip_version == AF_INET ? 4 : 6, strerror(save_errno));
+    dstaddr.sin.sa_family = olsr_cnf->ip_version;
+    OLSR_WARN(LOG_NETWORKING, "OLSR: sendto IPv%d: %s\n", olsr_cnf->ip_version == AF_INET ? 4 : 6, strerror(save_errno));
+    OLSR_DEBUG_NH(LOG_NETWORKING, "To: %s (size: %d)\n", sockaddr_to_string(sabuf, sizeof(sabuf), &dstaddr.sin, dstaddr_size), dstaddr_size);
+    OLSR_DEBUG_NH(LOG_NETWORKING, "Socket: %d interface: %d/%s\n", ifp->olsr_socket, ifp->if_index, ifp->int_name);
+    OLSR_DEBUG_NH(LOG_NETWORKING, "Outputsize: %d\n", ifp->netbuf.pending);
     retval = -1;
   }
 
@@ -400,7 +399,9 @@ net_output(struct interface *ifp)
 static void
 olsr_add_invalid_address(const union olsr_ip_addr *addr)
 {
+#if !defined REMOVE_INFO
   struct ipaddr_str buf;
+#endif
   struct filter_entry *filter;
 
   /*
@@ -416,7 +417,7 @@ olsr_add_invalid_address(const union olsr_ip_addr *addr)
   filter->filter_node.key = &filter->filter_addr;
   avl_insert(&filter_tree, &filter->filter_node, AVL_DUP_NO);
 
-  OLSR_PRINTF(1, "Added %s to filter set\n",
+  OLSR_INFO(LOG_NETWORKING, "Added %s to filter set\n",
               olsr_ip_to_string(&buf, &filter->filter_addr));
 }
 
@@ -427,8 +428,10 @@ olsr_validate_address(const union olsr_ip_addr *addr)
   const struct filter_entry *filter = filter_tree2filter(avl_find(&filter_tree, addr));
 
   if (filter) {
+#if !defined REMOVE_DEBUG
     struct ipaddr_str buf;
-    OLSR_PRINTF(1, "Validation of address %s failed!\n",
+#endif
+    OLSR_DEBUG(LOG_NETWORKING, "Validation of address %s failed!\n",
                 olsr_ip_to_string(&buf, addr));
     return false;
   }
index faadd0f..f250d53 100644 (file)
@@ -62,6 +62,7 @@
 #include "common/avl.h"
 #include "net_olsr.h"
 #include "lq_plugin.h"
+#include "olsr_logging.h"
 
 #include <stdarg.h>
 #include <errno.h>
@@ -116,7 +117,7 @@ register_pcf(int (*f)(int, int, int))
 {
   struct pcf *new_pcf;
 
-  OLSR_PRINTF(1, "Registering pcf function\n");
+  OLSR_DEBUG(LOG_MAIN, "Registering pcf function\n");
 
   new_pcf = olsr_malloc(sizeof(struct pcf), "New PCF");
 
@@ -139,14 +140,12 @@ olsr_process_changes(void)
 {
   struct pcf *tmp_pc_list;
 
-#ifdef DEBUG
   if(changes_neighborhood)
-    OLSR_PRINTF(3, "CHANGES IN NEIGHBORHOOD\n");
+    OLSR_DEBUG(LOG_MAIN, "CHANGES IN NEIGHBORHOOD\n");
   if(changes_topology)
-    OLSR_PRINTF(3, "CHANGES IN TOPOLOGY\n");
+    OLSR_DEBUG(LOG_MAIN, "CHANGES IN TOPOLOGY\n");
   if(changes_hna)
-    OLSR_PRINTF(3, "CHANGES IN HNA\n");
-#endif
+    OLSR_DEBUG(LOG_MAIN, "CHANGES IN HNA\n");
 
   if(!changes_force &&
      0 >= olsr_cnf->lq_dlimit)
@@ -172,29 +171,13 @@ olsr_process_changes(void)
     olsr_calculate_routing_table();
   }
 
-  if (olsr_cnf->debug_level > 0)
-    {
-      if (olsr_cnf->debug_level > 2)
-        {
-          olsr_print_mid_set();
-
-          if (olsr_cnf->debug_level > 3)
-            {
-             if (olsr_cnf->debug_level > 8)
-               {
-                 olsr_print_duplicate_table();
-               }
-              olsr_print_hna_set();
-            }
-        }
-
-#if 1
-      olsr_print_link_set();
-      olsr_print_neighbor_table();
-      olsr_print_two_hop_neighbor_table();
-      olsr_print_tc_table();
-#endif
-    }
+  olsr_print_link_set();
+  olsr_print_neighbor_table();
+  olsr_print_two_hop_neighbor_table();
+  olsr_print_tc_table();
+  olsr_print_mid_set();
+  olsr_print_duplicate_table();
+  olsr_print_hna_set();
 
   for(tmp_pc_list = pcf_list;
       tmp_pc_list != NULL;
@@ -267,11 +250,6 @@ olsr_init_tables(void)
   /* Initialize MPRS */
   olsr_init_mprs();
 
-#if 0
-  /* Initialize Layer 1/2 database */
-  olsr_initialize_layer12();
-#endif
-
   /* Start periodic SPF and RIB recalculation */
   if (olsr_cnf->lq_dinter > 0.0) {
     periodic_spf_timer_cookie = olsr_alloc_cookie("Periodic SPF",
@@ -326,14 +304,10 @@ olsr_forward_message(union olsr_message *m, struct interface *in_if,
     return 0;
 
   /* Check MPR */
-  if(olsr_lookup_mprs_set(src) == NULL)
-    {
-#ifdef DEBUG
-      struct ipaddr_str buf;
-      OLSR_PRINTF(5, "Forward - sender %s not MPR selector\n", olsr_ip_to_string(&buf, src));
-#endif
-      return 0;
-    }
+  if(olsr_lookup_mprs_set(src) == NULL) {
+    /* don't forward packages if not a MPR */
+    return 0;
+  }
 
   /* check if we already forwarded this message */
   if (olsr_message_is_duplicate(m)) {
@@ -359,38 +333,33 @@ olsr_forward_message(union olsr_message *m, struct interface *in_if,
 
   /* looping trough interfaces */
   OLSR_FOR_ALL_INTERFACES(ifn) {
-      if(net_output_pending(ifn))
-       {
-    /* dont forward to incoming interface if interface is mode ether */
-    if (in_if->mode == IF_MODE_ETHER && ifn == in_if)
-      continue;
-
-         /*
-          * Check if message is to big to be piggybacked
-          */
-         if(net_outbuffer_push(ifn, m, msgsize) != msgsize)
-           {
+    if(net_output_pending(ifn)) {
+      /* dont forward to incoming interface if interface is mode ether */
+      if (in_if->mode == IF_MODE_ETHER && ifn == in_if)
+        continue;
+
+           /*
+            * Check if message is to big to be piggybacked
+            */
+           if(net_outbuffer_push(ifn, m, msgsize) != msgsize) {
              /* Send */
              net_output(ifn);
              /* Buffer message */
              set_buffer_timer(ifn);
 
-             if(net_outbuffer_push(ifn, m, msgsize) != msgsize)
-               {
-      OLSR_WARN(LOG_NETWORKING, "Received message to big to be forwarded in %s(%d bytes)!", ifn->int_name, msgsize);
-               }
+             if(net_outbuffer_push(ifn, m, msgsize) != msgsize) {
+          OLSR_WARN(LOG_NETWORKING, "Received message to big to be forwarded in %s(%d bytes)!", ifn->int_name, msgsize);
+        }
            }
-       }
-      else
-       {
-         /* No forwarding pending */
-         set_buffer_timer(ifn);
-
-         if(net_outbuffer_push(ifn, m, msgsize) != msgsize)
-           {
+    }
+    else {
+           /* No forwarding pending */
+           set_buffer_timer(ifn);
+
+           if(net_outbuffer_push(ifn, m, msgsize) != msgsize) {
              OLSR_WARN(LOG_NETWORKING, "Received message to big to be forwarded in %s(%d bytes)!", ifn->int_name, msgsize);
            }
-       }
+         }
   } OLSR_FOR_ALL_INTERFACES_END(ifn);
 
   return 1;
@@ -413,10 +382,6 @@ olsr_expire_buffer_timer(void *context)
    */
   ifn->buffer_hold_timer = NULL;
 
-#ifdef DEBUG
-  OLSR_PRINTF(1, "Buffer Holdtimer for %s timed out\n", ifn->int_name);
-#endif
-
   /*
    * Do we have something to emit ?
    */
@@ -424,6 +389,8 @@ olsr_expire_buffer_timer(void *context)
     return;
   }
 
+  OLSR_DEBUG(LOG_NETWORKING, "Buffer Holdtimer for %s timed out, sending data.\n", ifn->int_name);
+
   net_output(ifn);
 }
 
@@ -481,10 +448,9 @@ olsr_update_willingness(void *foo __attribute__((unused)))
   /* Re-calculate willingness */
   olsr_cnf->willingness = olsr_calculate_willingness();
 
-  if(tmp_will != olsr_cnf->willingness)
-    {
-      OLSR_PRINTF(1, "Local willingness updated: old %d new %d\n", tmp_will, olsr_cnf->willingness);
-    }
+  if(tmp_will != olsr_cnf->willingness) {
+    OLSR_INFO(LOG_MAIN, "Local willingness updated: old %d new %d\n", tmp_will, olsr_cnf->willingness);
+  }
 }
 
 
@@ -639,16 +605,9 @@ olsr_malloc(size_t size, const char *id __attribute__((unused)))
   ptr = calloc(1, size);
 
   if (!ptr) {
-      OLSR_ERROR(LOG_MAIN, "Out of memory for id '%s': %s\n", id, strerror(errno));
-      olsr_exit(EXIT_FAILURE);
+    OLSR_ERROR(LOG_MAIN, "Out of memory for id '%s': %s\n", id, strerror(errno));
+    olsr_exit(EXIT_FAILURE);
   }
-
-#if 0
-  /* useful for debugging */
-  OLSR_PRINTF(1, "MEMORY: alloc %s %p, %u bytes\n",
-              id, ptr, size);
-#endif
-
   return ptr;
 }
 
index 430536a..7f537f1 100644 (file)
@@ -67,7 +67,8 @@ const char *LOG_SOURCE_NAMES[] = {
   "tc",
   "hna",
   "mid",
-  "duplicate-set"
+  "duplicate-set",
+  "cookie",
 };
 
 const char *LOG_SEVERITY_NAMES[] = {
index 86e59e3..e53de5b 100644 (file)
@@ -66,6 +66,7 @@ enum log_source {
   LOG_HNA,                //!< LOG_HNA
   LOG_MID,                //!< LOG_MID
   LOG_DUPLICATE_SET,      //!< LOG_DUPLICATE_SET
+  LOG_COOKIE,             //!< LOG_COOKIE
 
   /* this one must be the last of the enums ! */
   LOG_SOURCE_COUNT//!< LOG_SOURCE_COUNT
index af2aa1b..37817db 100644 (file)
@@ -274,7 +274,7 @@ olsr_cookie_malloc(struct olsr_cookie_info *ci)
   void *ptr;
   struct olsr_cookie_mem_brand *branding;
   struct list_node *free_list_node;
-#if 0
+#if !defined REMOVE_DEBUG
   bool reuse = false;
 #endif
   size_t size;
@@ -342,7 +342,7 @@ olsr_cookie_malloc(struct olsr_cookie_info *ci)
     }
 
     ci->ci_free_list_usage--;
-#if 0
+#if !defined REMOVE_DEBUG
     reuse = true;
 #endif
   }
@@ -360,10 +360,8 @@ olsr_cookie_malloc(struct olsr_cookie_info *ci)
   /* Stats keeping */
   olsr_cookie_usage_incr(ci->ci_id);
 
-#if 0
-  OLSR_PRINTF(1, "MEMORY: alloc %s, %p, %u bytes%s\n",
-             ci->ci_name, ptr, ci->ci_size, reuse ? ", reuse" : "");
-#endif
+  OLSR_DEBUG(LOG_COOKIE, "MEMORY: alloc %s, %p, %lu bytes%s\n",
+             ci->ci_name, ptr, (unsigned long)ci->ci_size, reuse ? ", reuse" : "");
 
   VALGRIND_MEMPOOL_ALLOC(ci, ptr, ci->ci_size);
   return ptr;
@@ -377,7 +375,7 @@ void
 olsr_cookie_free(struct olsr_cookie_info *ci, void *ptr)
 {
   struct list_node *free_list_node;
-#if 0
+#if !defined REMOVE_DEBUG
   bool reuse = false;
 #endif
   struct olsr_cookie_mem_brand *branding = (struct olsr_cookie_mem_brand *)
@@ -423,7 +421,7 @@ olsr_cookie_free(struct olsr_cookie_info *ci, void *ptr)
     }
 
     ci->ci_free_list_usage++;
-#if 0
+#if !defined REMOVE_DEBUG
     reuse = true;
 #endif
 
@@ -438,10 +436,8 @@ olsr_cookie_free(struct olsr_cookie_info *ci, void *ptr)
   /* Stats keeping */
   olsr_cookie_usage_decr(ci->ci_id);
 
-#if 0
-  OLSR_PRINTF(1, "MEMORY: free %s, %p, %u bytes%s\n",
-             ci->ci_name, ptr, ci->ci_size, reuse ? ", reuse" : "");
-#endif
+  OLSR_DEBUG(LOG_COOKIE, "MEMORY: free %s, %p, %lu bytes%s\n",
+             ci->ci_name, ptr, (unsigned long)ci->ci_size, reuse ? ", reuse" : "");
 
   VALGRIND_MEMPOOL_FREE(ci, ptr);
   VALGRIND_MAKE_MEM_NOACCESS(ptr, ci->ci_size);
index 3017537..34a534c 100644 (file)
@@ -44,6 +44,7 @@
 #include "routing_table.h"
 #include "lq_plugin.h"
 #include "process_routes.h"
+#include "olsr_logging.h"
 
 static struct timer_entry *spf_backoff_timer = NULL;
 
@@ -79,17 +80,15 @@ static void
 olsr_spf_add_cand_tree (struct avl_tree *tree,
                         struct tc_entry *tc)
 {
-#if !defined(NODEBUG) && defined(DEBUG)
+#if !defined REMOVE_DEBUG
   struct ipaddr_str buf;
   struct lqtextbuffer lqbuffer;
 #endif
   tc->cand_tree_node.key = &tc->path_cost;
 
-#ifdef DEBUG
-  OLSR_PRINTF(2, "SPF: insert candidate %s, cost %s\n",
+  OLSR_DEBUG(LOG_ROUTING, "SPF: insert candidate %s, cost %s\n",
               olsr_ip_to_string(&buf, &tc->addr),
               get_linkcost_text(tc->path_cost, false, &lqbuffer));
-#endif
 
   avl_insert(tree, &tc->cand_tree_node, AVL_DUP);
 }
@@ -104,15 +103,13 @@ olsr_spf_del_cand_tree (struct avl_tree *tree,
                         struct tc_entry *tc)
 {
 
-#ifdef DEBUG
-#ifndef NODEBUG
+#if !defined REMOVE_DEBUG
   struct ipaddr_str buf;
   struct lqtextbuffer lqbuffer;
 #endif
-  OLSR_PRINTF(2, "SPF: delete candidate %s, cost %s\n",
+  OLSR_DEBUG(LOG_ROUTING, "SPF: delete candidate %s, cost %s\n",
               olsr_ip_to_string(&buf, &tc->addr),
               get_linkcost_text(tc->path_cost, false, &lqbuffer));
-#endif
 
   avl_delete(tree, &tc->cand_tree_node);
 }
@@ -126,18 +123,16 @@ static void
 olsr_spf_add_path_list (struct list_node *head, int *path_count,
                         struct tc_entry *tc)
 {
-#if !defined(NODEBUG) && defined(DEBUG)
+#if !defined REMOVE_DEBUG
   struct ipaddr_str pathbuf, nbuf;
   struct lqtextbuffer lqbuffer;
 #endif
 
-#ifdef DEBUG
-  OLSR_PRINTF(2, "SPF: append path %s, cost %s, via %s\n",
+  OLSR_DEBUG(LOG_ROUTING, "SPF: append path %s, cost %s, via %s\n",
               olsr_ip_to_string(&pathbuf, &tc->addr),
               get_linkcost_text(tc->path_cost, false, &lqbuffer),
               tc->next_hop ? olsr_ip_to_string(
                 &nbuf, &tc->next_hop->neighbor_iface_addr) : "-");
-#endif
 
   list_add_before(head, &tc->path_list_node);
   *path_count = *path_count + 1;
@@ -170,15 +165,13 @@ olsr_spf_relax (struct avl_tree *cand_tree, struct tc_entry *tc)
   struct avl_node *edge_node;
   olsr_linkcost new_cost;
 
-#ifdef DEBUG
-#ifndef NODEBUG
+#if !defined REMOVE_DEBUG
   struct ipaddr_str buf, nbuf;
   struct lqtextbuffer lqbuffer;
 #endif
-  OLSR_PRINTF(2, "SPF: exploring node %s, cost %s\n",
+  OLSR_DEBUG(LOG_ROUTING, "SPF: exploring node %s, cost %s\n",
               olsr_ip_to_string(&buf, &tc->addr),
               get_linkcost_text(tc->path_cost, false, &lqbuffer));
-#endif
 
   /*
    * loop through all edges of this vertex.
@@ -194,13 +187,11 @@ olsr_spf_relax (struct avl_tree *cand_tree, struct tc_entry *tc)
      * We are not interested in dead-end edges.
      */
     if (!tc_edge->edge_inv) {
-#ifdef DEBUG
-      OLSR_PRINTF(2, "SPF:   ignoring edge %s\n",
+      OLSR_DEBUG(LOG_ROUTING, "SPF:   ignoring edge %s\n",
                   olsr_ip_to_string(&buf, &tc_edge->T_dest_addr));
       if (!tc_edge->edge_inv) {
-        OLSR_PRINTF(2, "SPF:     no inverse edge\n");
+        OLSR_DEBUG(LOG_ROUTING, "SPF:     no inverse edge\n");
       }
-#endif
       continue;
     }
 
@@ -210,11 +201,9 @@ olsr_spf_relax (struct avl_tree *cand_tree, struct tc_entry *tc)
      */
     new_cost = tc->path_cost + tc_edge->cost;
 
-#ifdef DEBUG
-    OLSR_PRINTF(2, "SPF:   exploring edge %s, cost %s\n",
+    OLSR_DEBUG(LOG_ROUTING, "SPF:   exploring edge %s, cost %s\n",
                 olsr_ip_to_string(&buf, &tc_edge->T_dest_addr),
                 get_linkcost_text(new_cost, true, &lqbuffer));
-#endif
 
     /*
      * if it's better than the current path quality of this edge's
@@ -239,14 +228,11 @@ olsr_spf_relax (struct avl_tree *cand_tree, struct tc_entry *tc)
       }
       new_tc->hops = tc->hops + 1;
 
-#ifdef DEBUG
-      OLSR_PRINTF(2, "SPF:   better path to %s, cost %s, via %s, hops %d\n",
+      OLSR_DEBUG(LOG_ROUTING, "SPF:   better path to %s, cost %s, via %s, hops %d\n",
                   olsr_ip_to_string(&buf, &new_tc->addr),
                   get_linkcost_text(new_cost, true, &lqbuffer),
                   tc->next_hop ? olsr_ip_to_string(&nbuf, &tc->next_hop->neighbor_iface_addr) : "<none>",
                   new_tc->hops);
-#endif
-
     }
   }
 }
@@ -384,7 +370,7 @@ olsr_calculate_routing_table (void)
    */
   olsr_spf_run_full(&cand_tree, &path_list, &path_count);
 
-  OLSR_PRINTF(2, "\n--- %s ------------------------------------------------- DIJKSTRA\n\n",
+  OLSR_DEBUG(LOG_ROUTING, "\n--- %s ------------------------------------------------- DIJKSTRA\n\n",
               olsr_wallclock_string());
 
 #ifdef SPF_PROFILING
@@ -400,16 +386,16 @@ olsr_calculate_routing_table (void)
     link = tc->next_hop;
 
     if (!link) {
-#ifdef DEBUG
       /*
        * Supress the error msg when our own tc_entry
        * does not contain a next-hop.
        */
       if (tc != tc_myself) {
+#if !defined REMOVE_DEBUG
         struct ipaddr_str buf;
-        OLSR_PRINTF(2, "SPF: %s no next-hop\n", olsr_ip_to_string(&buf, &tc->addr));
-      }
 #endif
+        OLSR_DEBUG(LOG_ROUTING, "SPF: %s no next-hop\n", olsr_ip_to_string(&buf, &tc->addr));
+      }
       continue;
     }
 
@@ -465,7 +451,7 @@ olsr_calculate_routing_table (void)
   timersub(&t4, &t3, &route);
   timersub(&t5, &t4, &kernel);
   timersub(&t5, &t1, &total);
-  OLSR_PRINTF(1, "\n--- SPF-stats for %d nodes, %d routes (total/init/run/route/kern): "
+  OLSR_DEBUG(LOG_ROUTING, "\n--- SPF-stats for %d nodes, %d routes (total/init/run/route/kern): "
               "%d, %d, %d, %d, %d\n",
               path_count, routingtree.count,
               (int)total.tv_usec, (int)spf_init.tv_usec, (int)spf_run.tv_usec,
index 00adc85..8cbb452 100644 (file)
@@ -263,8 +263,6 @@ static void parse_packet(struct olsr *olsr, int size, struct interface *in_if, u
     packetparser->function(olsr, in_if, from_addr);
   }
 
-  //printf("Message from %s\n\n", olsr_ip_to_string(&buf, from_addr));
-
   /* Display packet */
   if (olsr_cnf->disp_packets_in) {
     print_olsr_serialized_packet(stdout, (union olsr_packet *)olsr, size, from_addr);
@@ -439,7 +437,7 @@ void olsr_input_hostemu(int fd, void *data __attribute__((unused)), unsigned int
 
   int cc = recv(fd, from_addr.v6.s6_addr, olsr_cnf->ipsize, 0);
   if (cc != (int)olsr_cnf->ipsize) {
-    fprintf(stderr, "Error receiving host-client IP hook(%d) %s!\n", cc, strerror(errno));
+    OLSR_WARN(LOG_NETWORKING, "Error receiving host-client IP hook(%d) %s!\n", cc, strerror(errno));
     memcpy(&from_addr, &((struct olsr *)inbuf)->olsr_msg->originator, olsr_cnf->ipsize);
   }
 
@@ -470,7 +468,7 @@ void olsr_input_hostemu(int fd, void *data __attribute__((unused)), unsigned int
   }
 
   if (cc != pcklen) {
-    printf("Could not read whole packet(size %d, read %d)\n", pcklen, cc);
+    OLSR_WARN(LOG_NETWORKING, "Could not read whole packet(size %d, read %d)\n", pcklen, cc);
     return;
   }
 
index df68f80..417ab0c 100644 (file)
@@ -43,6 +43,7 @@
 #include "plugin_util.h"
 #include "defs.h"
 #include "olsr.h"
+#include "olsr_logging.h"
 
 #include <dlfcn.h>
 #include <errno.h>
@@ -66,16 +67,17 @@ void olsr_load_plugins(void)
 {
     struct plugin_entry *entry = olsr_cnf->plugins;
     int rv = 0;
+    OLSR_INFO(LOG_PLUGINS, "-- LOADING PLUGINS --\n");
     for (entry = olsr_cnf->plugins; entry != NULL; entry = entry->next) {
         if(olsr_load_dl(entry->name, entry->params) < 0) {
             rv = 1;
         }
     }
     if (rv != 0) {
-        OLSR_PRINTF(0, "-- PLUGIN LOADING FAILED! --\n");
-        exit(1);
+        OLSR_ERROR(LOG_PLUGINS, "-- PLUGIN LOADING FAILED! --\n");
+        olsr_exit(1);
     }
-    OLSR_PRINTF(0, "-- ALL PLUGINS LOADED! --\n\n");
+    OLSR_INFO(LOG_PLUGINS, "-- ALL PLUGINS LOADED! --\n\n");
 }
 
 /**
@@ -91,7 +93,7 @@ static int olsr_load_dl(char *libname, struct plugin_param *params)
     struct olsr_plugin *plugin = olsr_malloc(sizeof(struct olsr_plugin), "Plugin entry");
     int rv;
 
-    OLSR_PRINTF(0, "---------- LOADING LIBRARY %s ----------\n", libname);
+    OLSR_INFO(LOG_PLUGINS, "---------- LOADING LIBRARY %s ----------\n", libname);
 
     if (olsr_cnf->dlPath) {
       char *path = olsr_malloc(strlen(olsr_cnf->dlPath) + strlen(libname)+1, "Memory for absolute library path");
@@ -105,7 +107,7 @@ static int olsr_load_dl(char *libname, struct plugin_param *params)
     }
     if(plugin->dlhandle == NULL) {
         const int save_errno = errno;
-        OLSR_PRINTF(0, "DL loading failed: \"%s\"!\n", dlerror());
+        OLSR_ERROR(LOG_PLUGINS, "DL loading failed: \"%s\"!\n", dlerror());
         free(plugin);
         errno = save_errno;
         return -1;
@@ -113,23 +115,31 @@ static int olsr_load_dl(char *libname, struct plugin_param *params)
 
     rv = olsr_add_dl(plugin);
     if (rv == -1) {
-        const int save_errno = errno;
-        dlclose(plugin->dlhandle);
-        free(plugin);
-        errno = save_errno;
-    } else {
-        plugin->params = params;
+      const int save_errno = errno;
+      dlclose(plugin->dlhandle);
+      free(plugin);
+      errno = save_errno;
+      OLSR_ERROR(LOG_PLUGINS, "---------- LIBRARY %s FAILED ----------\n\n", libname);
+      return -1;
+    }
 
-        /* Initialize the plugin */
-        if (init_olsr_plugin(plugin) != 0) {
-            rv = -1;
-        }
+    plugin->params = params;
 
-        /* queue */
-        plugin->next = olsr_plugins;
-        olsr_plugins = plugin;
+    /* Initialize the plugin */
+    if (init_olsr_plugin(plugin) != 0) {
+      const int save_errno = errno;
+      dlclose(plugin->dlhandle);
+      free(plugin);
+      errno = save_errno;
+      OLSR_ERROR(LOG_PLUGINS, "---------- LIBRARY %s FAILED ----------\n\n", libname);
+      return -1;
     }
-    OLSR_PRINTF(0, "---------- LIBRARY %s %s ----------\n\n", libname, rv == 0 ? "LOADED" : "FAILED");
+
+    /* queue */
+    plugin->next = olsr_plugins;
+    olsr_plugins = plugin;
+
+    OLSR_INFO(LOG_PLUGINS, "---------- LIBRARY %s LOADED ----------\n\n", libname);
     return rv;
 }
 
@@ -140,38 +150,34 @@ static int olsr_add_dl(struct olsr_plugin *plugin)
     int plugin_interface_version = -1;
 
     /* Fetch the interface version function, 3 different ways */
-    OLSR_PRINTF(0, "Checking plugin interface version: ");
     get_interface_version = dlsym(plugin->dlhandle, "olsrd_plugin_interface_version");
     if (NULL != get_interface_version) {
         plugin_interface_version = get_interface_version();
     }
-    OLSR_PRINTF(0, " %d - OK\n", plugin_interface_version);
+    OLSR_DEBUG(LOG_PLUGINS, "Checking plugin interface version: %d - OK\n", plugin_interface_version);
 
     if (plugin_interface_version < 5){
         /* old plugin interface */
-        OLSR_PRINTF(0, "\nWARNING: YOU ARE USING AN OLD DEPRECATED PLUGIN INTERFACE!\n"
+        OLSR_ERROR(LOG_PLUGINS, "YOU ARE USING AN OLD DEPRECATED PLUGIN INTERFACE!\n"
                     "DETECTED VERSION %d AND THE CURRENT VERSION IS %d\n"
                     "PLEASE UPGRADE YOUR PLUGIN!\n", plugin_interface_version, MOST_RECENT_PLUGIN_INTERFACE_VERSION);
         return -1;
     }
 
     /* Fetch the init function */
-    OLSR_PRINTF(1, "Trying to fetch plugin init function: ");
     plugin->plugin_init = dlsym(plugin->dlhandle, "olsrd_plugin_init");
     if (plugin->plugin_init == NULL) {
-        OLSR_PRINTF(0, "FAILED: \"%s\"\n", dlerror());
-        return -1;
+      OLSR_ERROR(LOG_PLUGINS, "Trying to fetch plugin init function: FAILED: \"%s\"\n", dlerror());
+      return -1;
     }
-    OLSR_PRINTF(1, "OK\n");
 
-    OLSR_PRINTF(1, "Trying to fetch parameter table and it's size... \n");
 
     get_plugin_parameters = dlsym(plugin->dlhandle, "olsrd_get_plugin_parameters");
     if (get_plugin_parameters != NULL) {
         (*get_plugin_parameters)(&plugin->plugin_parameters, &plugin->plugin_parameters_size);
     } else {
-        OLSR_PRINTF(0, "Old plugin interfaces are not supported\n");
-        return -1;
+      OLSR_ERROR(LOG_PLUGINS, "Trying to fetch parameter table and it's size: FAILED\n");
+      return -1;
     }
     return 0;
 }
@@ -191,9 +197,9 @@ static int init_olsr_plugin(struct olsr_plugin *entry)
 {
     int rv = 0;
     struct plugin_param *params;
-    OLSR_PRINTF(1, "Sending parameters...\n");
+    OLSR_INFO(LOG_PLUGINS, "Setting parameters of plugin...\n");
     for(params = entry->params; params != NULL; params = params->next) {
-        OLSR_PRINTF(1, "\"%s\"/\"%s\"... ", params->key, params->value);
+        OLSR_INFO(LOG_PLUGINS, "\"%s\"/\"%s\"... ", params->key, params->value);
         if (entry->plugin_parameters_size != 0) {
             unsigned int i;
             int rc = 0;
@@ -205,27 +211,28 @@ static int init_olsr_plugin(struct olsr_plugin *entry)
                     rc = entry->plugin_parameters[i].set_plugin_parameter(params->value, entry->plugin_parameters[i].data,
                         0 == entry->plugin_parameters[i].name[0] ? (set_plugin_parameter_addon)params->key : entry->plugin_parameters[i].addon);
                     if (rc != 0) {
-                        fprintf(stderr, "\nFatal error in plugin parameter \"%s\"/\"%s\"\n", params->key, params->value);
+                        OLSR_ERROR(LOG_PLUGINS, "\nFatal error in plugin parameter \"%s\"/\"%s\"\n", params->key, params->value);
                         rv = -1;
                     }
                     break;
                 }
             }
             if (i >= entry->plugin_parameters_size) {
-                OLSR_PRINTF(0, "Ignored parameter \"%s\"\n", params->key);
-            } else {
-                OLSR_PRINTF(1, "%s: %s\n", params->key, rc == 0 ? "OK" : "FAILED");
-                if (rc != 0) {
-                    rv = -1;
-                }
+                OLSR_INFO(LOG_PLUGINS, "Ignored parameter \"%s\"\n", params->key);
+            } else if (rc == 0) {
+              OLSR_INFO(LOG_PLUGINS, "%s: OK\n", params->key);
+            }
+            else {
+              OLSR_ERROR(LOG_PLUGINS, "%s: FAILED\n", params->key);
+              rv = -1;
             }
         } else {
-            OLSR_PRINTF(0, "I don't know what to do with \"%s\"!\n", params->key);
+            OLSR_ERROR(LOG_PLUGINS, "I don't know what to do with \"%s\"!\n", params->key);
             rv = -1;
         }
     }
 
-    OLSR_PRINTF(1, "Running plugin_init function...\n");
+    OLSR_INFO(LOG_PLUGINS, "Running plugin_init function...\n");
     entry->plugin_init();
     return rv;
 }
@@ -238,7 +245,7 @@ void olsr_close_plugins(void)
 {
     struct olsr_plugin *entry;
 
-    OLSR_PRINTF(0, "Closing plugins...\n");
+    OLSR_INFO(LOG_PLUGINS, "Closing plugins...\n");
     while (olsr_plugins) {
         entry = olsr_plugins;
         olsr_plugins = entry->next;
index de2e10f..0d33ef2 100644 (file)
@@ -48,6 +48,7 @@
 #include "olsr.h"
 #include "defs.h"
 #include "common/string.h"
+#include "olsr_logging.h"
 
 #include <arpa/inet.h>
 
@@ -56,19 +57,19 @@ int set_plugin_port(const char *value, void *data, set_plugin_parameter_addon ad
     char *endptr;
     const unsigned int port = strtoul(value, &endptr, 0);
     if (*endptr != '\0' || endptr == value) {
-        OLSR_PRINTF(0, "Illegal port number \"%s\"", value);
+        OLSR_WARN(LOG_PLUGINS, "Illegal port number \"%s\"", value);
         return 1;
     }
     if (port > 65535) {
-        OLSR_PRINTF(0, "Port number %u out of range", port);
-        return 1;
+      OLSR_WARN(LOG_PLUGINS, "Port number %u out of range", port);
+      return 1;
     }
     if (data != NULL) {
-        int *v = data;
-        *v = port;
-        OLSR_PRINTF(1, "%s port number %u\n", "Got", port);
+      int *v = data;
+      *v = port;
+      OLSR_INFO(LOG_PLUGINS, "%s port number %u\n", "Got", port);
     } else {
-        OLSR_PRINTF(0, "%s port number %u\n", "Ignored", port);
+      OLSR_INFO(LOG_PLUGINS, "%s port number %u\n", "Ignored", port);
     }
     return 0;
 }
@@ -78,16 +79,16 @@ int set_plugin_ipaddress(const char *value, void *data, set_plugin_parameter_add
     char buf[INET6_ADDRSTRLEN];
     union olsr_ip_addr ip_addr;
     if (inet_pton(olsr_cnf->ip_version, value, &ip_addr) <= 0) {
-        OLSR_PRINTF(0, "Illegal IP address \"%s\"", value);
+        OLSR_WARN(LOG_PLUGINS, "Illegal IP address \"%s\"", value);
         return 1;
     }
     inet_ntop(olsr_cnf->ip_version, &ip_addr, buf, sizeof(buf));
     if (data != NULL) {
         union olsr_ip_addr *v = data;
         *v = ip_addr;
-        OLSR_PRINTF(1, "%s IP address %s\n", "Got", buf);
+        OLSR_INFO(LOG_PLUGINS, "%s IP address %s\n", "Got", buf);
     } else {
-        OLSR_PRINTF(0, "%s IP address %s\n", "Ignored", buf);
+        OLSR_INFO(LOG_PLUGINS, "%s IP address %s\n", "Ignored", buf);
     }
     return 0;
 }
@@ -111,15 +112,15 @@ int set_plugin_int(const char *value, void *data, set_plugin_parameter_addon add
     char *endptr;
     const int theint = strtol(value, &endptr, 0);
     if (*endptr != '\0' || endptr == value) {
-        OLSR_PRINTF(0, "Illegal int \"%s\"", value);
+        OLSR_WARN(LOG_PLUGINS, "Illegal int \"%s\"", value);
         return 1;
     }
     if (data != NULL) {
         int *v = data;
         *v = theint;
-        OLSR_PRINTF(1, "%s int %d\n", "Got", theint);
+        OLSR_INFO(LOG_PLUGINS, "%s int %d\n", "Got", theint);
     } else {
-        OLSR_PRINTF(0, "%s int %d\n", "Ignored", theint);
+        OLSR_INFO(LOG_PLUGINS, "%s int %d\n", "Ignored", theint);
     }
     return 0;
 }
@@ -129,13 +130,13 @@ int set_plugin_string(const char *value, void *data, set_plugin_parameter_addon
     if (data != NULL) {
         char *v = data;
         if ((unsigned)strlen(value) >= addon.ui) {
-            OLSR_PRINTF(0, "String too long \"%s\"", value);
+            OLSR_WARN(LOG_PLUGINS, "String too long \"%s\"", value);
             return 1;
         }
         strscpy(v, value, addon.ui);
-        OLSR_PRINTF(1, "%s string %s\n", "Got", value);
+        OLSR_INFO(LOG_PLUGINS, "%s string %s\n", "Got", value);
     } else {
-        OLSR_PRINTF(0, "%s string %s\n", "Ignored", value);
+        OLSR_INFO(LOG_PLUGINS, "%s string %s\n", "Ignored", value);
     }
     return 0;
 }
@@ -179,7 +180,7 @@ ip_acl_plugin_parse(const char *value, union olsr_ip_addr *addr)
     c++;
 
   if (ipv4 == ipv6) {
-    OLSR_PRINTF(0, "Error, illegal ip net '%s'\n", value);
+    OLSR_WARN(LOG_PLUGINS, "Error, illegal ip net '%s'\n", value);
     return -1;
   }
 
@@ -189,7 +190,7 @@ ip_acl_plugin_parse(const char *value, union olsr_ip_addr *addr)
   }
 
   if (inet_pton(olsr_cnf->ip_version, arg, addr) < 0) {
-    OLSR_PRINTF(0, "Error, illegal ip net '%s'\n", value);
+    OLSR_WARN(LOG_PLUGINS, "Error, illegal ip net '%s'\n", value);
     return -1;
   }
 
@@ -199,7 +200,7 @@ ip_acl_plugin_parse(const char *value, union olsr_ip_addr *addr)
     memset(&addr->v6.s6_addr[0], 0x00, 10 * sizeof(uint8_t));
     memset(&addr->v6.s6_addr[10], 0xff, 2 * sizeof(uint8_t));
   } else if (ipv6 && olsr_cnf->ip_version == AF_INET) {
-    OLSR_PRINTF(0, "Ignore Ipv6 address '%s' in ipv4 mode\n", value);
+    OLSR_WARN(LOG_PLUGINS, "Ignore Ipv6 address '%s' in ipv4 mode\n", value);
     return -1;
   }
 
@@ -207,7 +208,7 @@ ip_acl_plugin_parse(const char *value, union olsr_ip_addr *addr)
     /* handle numeric netmask */
     prefix = (int)strtoul(slash, NULL, 10);
     if (prefix < 0 || prefix > (olsr_cnf->ip_version == AF_INET ? 32 : 128)) {
-      OLSR_PRINTF(0, "Error, illegal prefix length in '%s'\n", value);
+      OLSR_WARN(LOG_PLUGINS, "Error, illegal prefix length in '%s'\n", value);
       return -1;
     }
   } else if (ipv4 && *c) {
index 8a9ff43..23113e4 100644 (file)
@@ -47,6 +47,7 @@
 #include "mid_set.h"
 #include "olsr.h"
 #include "parser.h"
+#include "olsr_logging.h"
 
 static bool olsr_input_hello(union olsr_message *ser, struct interface *inif, union olsr_ip_addr *from);
 
@@ -80,7 +81,7 @@ process_message_neighbors(struct neighbor_entry *neighbor, const struct lq_hello
   for (message_neighbors = message->neigh;
        message_neighbors != NULL;
        message_neighbors = message_neighbors->next) {
-#ifdef DEBUG
+#if !defined REMOVE_DEBUG
     struct ipaddr_str buf;
 #endif
     union olsr_ip_addr *neigh_addr;
@@ -104,9 +105,6 @@ process_message_neighbors(struct neighbor_entry *neighbor, const struct lq_hello
         message_neighbors->neigh_type == MPR_NEIGH) {
       struct neighbor_2_list_entry *two_hop_neighbor_yet =
         olsr_lookup_my_neighbors(neighbor, &message_neighbors->addr);
-#ifdef DEBUG
-      OLSR_PRINTF(7, "\tProcessing %s\n", olsr_ip_to_string(&buf, &message_neighbors->addr));
-#endif
       if (two_hop_neighbor_yet != NULL) {
         struct neighbor_list_entry *walker;
 
@@ -140,11 +138,9 @@ process_message_neighbors(struct neighbor_entry *neighbor, const struct lq_hello
       } else {
        struct neighbor_2_entry *two_hop_neighbor = olsr_lookup_two_hop_neighbor_table(&message_neighbors->addr);
         if (two_hop_neighbor == NULL) {
-#ifdef DEBUG
-          OLSR_PRINTF(5,
+          OLSR_DEBUG(LOG_LINKS,
                       "Adding 2 hop neighbor %s\n\n",
                       olsr_ip_to_string(&buf, &message_neighbors->addr));
-#endif
           two_hop_neighbor = olsr_malloc(sizeof(*two_hop_neighbor), "Process HELLO");
           two_hop_neighbor->neighbor_2_nblist.next = &two_hop_neighbor->neighbor_2_nblist;
           two_hop_neighbor->neighbor_2_nblist.prev = &two_hop_neighbor->neighbor_2_nblist;
@@ -226,8 +222,6 @@ process_message_neighbors(struct neighbor_entry *neighbor, const struct lq_hello
               if (olsr_cnf->lq_dlimit > 0) {
                 changes_neighborhood = true;
                 changes_topology = true;
-              } else {
-                OLSR_PRINTF(3, "Skipping Dijkstra (3)\n");
               }
             }
           }
@@ -415,7 +409,7 @@ hello_tap(struct lq_hello_message *message,
   /* Check willingness */
   if (lnk->neighbor->willingness != message->will) {
     struct ipaddr_str buf;
-    OLSR_PRINTF(1, "Willingness for %s changed from %d to %d - UPDATING\n",
+    OLSR_DEBUG(LOG_LINKS, "Willingness for %s changed from %d to %d - UPDATING\n",
                 olsr_ip_to_string(&buf, &lnk->neighbor->neighbor_main_addr),
                 lnk->neighbor->willingness,
                 message->will);