init / exit function ordering
[vpp.git] / src / plugins / igmp / igmp_input.c
index 5f54a0b..d5f714b 100644 (file)
@@ -203,8 +203,8 @@ igmp_input (vlib_main_t * vm, vlib_node_runtime_t * node,
              tr = vlib_add_trace (vm, node, b, sizeof (*tr));
              tr->next_index = next;
              tr->sw_if_index = vnet_buffer (b)->sw_if_index[VLIB_RX];
-             clib_memcpy (tr->packet_data, vlib_buffer_get_current (b),
-                          sizeof (tr->packet_data));
+             clib_memcpy_fast (tr->packet_data, vlib_buffer_get_current (b),
+                               sizeof (tr->packet_data));
            }
 
          vlib_validate_buffer_enqueue_x1 (vm, node, next_index, to_next,
@@ -280,8 +280,8 @@ igmp_parse_query (vlib_main_t * vm, vlib_node_runtime_t * node,
              tr = vlib_add_trace (vm, node, b, sizeof (*tr));
              tr->next_index = next;
              tr->sw_if_index = vnet_buffer (b)->sw_if_index[VLIB_RX];
-             clib_memcpy (tr->packet_data, vlib_buffer_get_current (b),
-                          sizeof (tr->packet_data));
+             clib_memcpy_fast (tr->packet_data, vlib_buffer_get_current (b),
+                               sizeof (tr->packet_data));
            }
          len = igmp_membership_query_v3_length (igmp);
 
@@ -387,8 +387,8 @@ igmp_parse_report (vlib_main_t * vm, vlib_node_runtime_t * node,
              tr = vlib_add_trace (vm, node, b, sizeof (*tr));
              tr->next_index = next;
              tr->sw_if_index = vnet_buffer (b)->sw_if_index[VLIB_RX];
-             clib_memcpy (tr->packet_data, vlib_buffer_get_current (b),
-                          sizeof (tr->packet_data));
+             clib_memcpy_fast (tr->packet_data, vlib_buffer_get_current (b),
+                               sizeof (tr->packet_data));
            }
 
          /*
@@ -445,19 +445,19 @@ VLIB_REGISTER_NODE (igmp_parse_report_node) =
 static clib_error_t *
 igmp_input_init (vlib_main_t * vm)
 {
-  clib_error_t *error;
-
-  if ((error = vlib_call_init_function (vm, igmp_init)))
-    return error;
-
   ip4_register_protocol (IP_PROTOCOL_IGMP, igmp_input_node.index);
 
   IGMP_DBG ("input-initialized");
 
-  return (error);
+  return (0);
 }
 
-VLIB_INIT_FUNCTION (igmp_input_init);
+/* *INDENT-OFF* */
+VLIB_INIT_FUNCTION (igmp_input_init) =
+{
+  .runs_after = VLIB_INITS("igmp_init"),
+};
+/* *INDENT-ON* */
 
 /*
  * fd.io coding-style-patch-verification: ON