igmp: fix debug macro
[vpp.git] / src / plugins / igmp / igmp.c
index d71e77a..55a5d0e 100644 (file)
@@ -206,7 +206,7 @@ ip4_lookup (ip4_address_t * a, igmp_membership_report_v3_t * igmp, u16 n,
 
   for (i = 0; i < n; i++)
     {
-      if ((!ip4_address_compare (a, &group_ptr (igmp, l)->dst_address)) &&
+      if ((!ip4_address_compare (a, &(group_ptr (igmp, l)->dst_address))) &&
          (type == group_ptr (igmp, l)->type))
        {
          rv = 1;
@@ -549,12 +549,11 @@ igmp_timer_process (vlib_main_t * vm, vlib_node_runtime_t * rt,
   igmp_main_t *im = &igmp_main;
   uword *event_data = 0, event_type;
   f64 time_start;
-  u8 enabled = 0;
   igmp_timer_t *timer = NULL;
 
   while (1)
     {
-      if (enabled)
+      if (NULL != timer)
        vlib_process_wait_for_event_or_clock (vm,
                                              timer->exp_time - time_start);
       else
@@ -568,17 +567,14 @@ igmp_timer_process (vlib_main_t * vm, vlib_node_runtime_t * rt,
       if (event_type == IGMP_PROCESS_EVENT_UPDATE_TIMER)
        goto next_timer;
 
-      DBG ("time: %f", vlib_time_now (vm));
+      IGMP_DBG ("time: %f", vlib_time_now (vm));
 
       /* timer expired */
-      timer->func (vm, rt, im, timer);
+      if (NULL != timer)
+       timer->func (vm, rt, im, timer);
 
     next_timer:
       timer = igmp_get_next_timer (im);
-      if (timer == NULL)
-       enabled = 0;
-      else
-       enabled = 1;
     }
   return 0;
 }
@@ -738,10 +734,13 @@ VNET_HW_INTERFACE_LINK_UP_DOWN_FUNCTION (igmp_hw_interface_link_up_down);
 static clib_error_t *
 igmp_init (vlib_main_t * vm)
 {
+  clib_error_t *error;
   igmp_main_t *im = &igmp_main;
   vlib_thread_main_t *tm = vlib_get_thread_main ();
   int i;
 
+  if ((error = vlib_call_init_function (vm, ip4_lookup_init)))
+    return error;
 
   im->igmp_config_by_sw_if_index =
     hash_create_mem (0, sizeof (u32), sizeof (uword));
@@ -828,7 +827,7 @@ do {                                                \
   mfib_table_entry_update (0, &mpfx1, MFIB_SOURCE_DEFAULT_ROUTE, 0,
                           MFIB_ENTRY_FLAG_ACCEPT_ALL_ITF);
 
-  return 0;
+  return (error);
 }
 
 VLIB_INIT_FUNCTION (igmp_init);