interface: interface-output end node rework
[vpp.git] / src / plugins / mactime / mactime.c
index e7dcb03..b8b1884 100644 (file)
@@ -37,7 +37,8 @@
 
 mactime_main_t mactime_main;
 
-/** \file time-base src-mac filter device-input feature arc implementation
+/** \file mactime.c
+ * time-base src-mac filter device-input feature arc implementation
  */
 
 static void
@@ -50,7 +51,8 @@ feature_init (mactime_main_t * mm)
                            mm->lookup_table_num_buckets,
                            mm->lookup_table_memory_size);
       clib_timebase_init (&mm->timebase, mm->timezone_offset,
-                         CLIB_TIMEBASE_DAYLIGHT_USA);
+                         CLIB_TIMEBASE_DAYLIGHT_USA,
+                         &(mm->vlib_main->clib_time));
       mm->allow_counters.name = "allow";
       mm->allow_counters.stat_segment_name = "/mactime/allow";
       mm->drop_counters.name = "drop";
@@ -193,8 +195,8 @@ vl_api_mactime_dump_t_handler (vl_api_mactime_dump_t * mp)
     }
 
   /* *INDENT-OFF* */
-  pool_foreach (dev, mm->devices,
-  ({
+  pool_foreach (dev, mm->devices)
+   {
     message_size = sizeof(*ep) + vec_len(dev->device_name) +
       vec_len(dev->ranges) * sizeof(ep->ranges[0]);
 
@@ -228,7 +230,7 @@ vl_api_mactime_dump_t_handler (vl_api_mactime_dump_t * mp)
                       name_len);
     ep->device_name [ARRAY_LEN(ep->device_name) -1] = 0;
     vl_api_send_msg (rp, (u8 *)ep);
-  }));
+  }
   /* *INDENT-OFF* */
 
  send_reply:
@@ -470,11 +472,10 @@ VNET_FEATURE_INIT (mactime, static) =
 /* *INDENT-ON */
 
 /* *INDENT-OFF* */
-VNET_FEATURE_INIT (mactime_tx, static) =
-{
+VNET_FEATURE_INIT (mactime_tx, static) = {
   .arc_name = "interface-output",
   .node_name = "mactime-tx",
-  .runs_before = VNET_FEATURES ("interface-tx"),
+  .runs_before = VNET_FEATURES ("interface-output-arc-end"),
 };
 /* *INDENT-ON */
 
@@ -552,9 +553,14 @@ show_mactime_command_fn (vlib_main_t * vm,
   vlib_counter_t allow, drop;
   ip_neighbor_t *ipn;
 
+  if (mm->feature_initialized == 0)
+    return clib_error_return
+      (0,
+       "Feature not initialized, suggest 'help mactime enable-disable'...");
+
   vec_reset_length (mm->arp_cache_copy);
   /* Walk all ip4 neighbours on all interfaces */
-  ip_neighbor_walk (IP46_TYPE_IP4, ~0, mactime_ip_neighbor_copy, mm);
+  ip_neighbor_walk (AF_IP4, ~0, mactime_ip_neighbor_copy, mm);
 
   now = clib_timebase_now (&mm->timebase);
 
@@ -571,10 +577,10 @@ show_mactime_command_fn (vlib_main_t * vm,
     vlib_cli_output (vm, "Time now: %U", format_clib_timebase_time, now);
 
   /* *INDENT-OFF* */
-  pool_foreach (dp, mm->devices,
-  ({
+  pool_foreach (dp, mm->devices)
+   {
     vec_add1 (pool_indices, dp - mm->devices);
-  }));
+  }
   /* *INDENT-ON* */
 
   vlib_cli_output (vm, "%-15s %18s %14s %10s %11s %13s",
@@ -702,7 +708,9 @@ clear_mactime_command_fn (vlib_main_t * vm,
   mactime_main_t *mm = &mactime_main;
 
   if (mm->feature_initialized == 0)
-    return clib_error_return (0, "feature not enabled");
+    return clib_error_return
+      (0,
+       "Feature not initialized, suggest 'help mactime enable-disable'...");
 
   vlib_clear_combined_counters (&mm->allow_counters);
   vlib_clear_combined_counters (&mm->drop_counters);