nsh: fix load failure
[vpp.git] / src / plugins / nsh / nsh_pop.c
index cd25bb9..188c513 100644 (file)
@@ -30,20 +30,8 @@ extern nsh_option_map_t * nsh_md2_lookup_option (u16 class, u8 type);
 
 extern u8 * format_nsh_header (u8 * s, va_list * args);
 extern u8 * format_nsh_node_map_trace (u8 * s, va_list * args);
-
-/* format from network order */
-u8 * format_nsh_pop_header (u8 * s, va_list * args)
-{
-  return format_nsh_header(s, args);
-}
-
-
-
-u8 * format_nsh_pop_node_map_trace (u8 * s, va_list * args)
-{
-  return format_nsh_node_map_trace(s, args);
-}
-
+extern u8 * format_nsh_pop_header (u8 * s, va_list * args);
+extern u8 * format_nsh_pop_node_map_trace (u8 * s, va_list * args);
 
 static uword
 nsh_pop_inline (vlib_main_t * vm,
@@ -162,7 +150,7 @@ nsh_pop_inline (vlib_main_t * vm,
           if (PREDICT_FALSE(b0->flags & VLIB_BUFFER_IS_TRACED))
             {
               nsh_input_trace_t *tr = vlib_add_trace(vm, node, b0, sizeof(*tr));
-              clib_memcpy ( &(tr->trace_data), hdr0, (hdr0->length*4) );
+              clib_memcpy_fast ( &(tr->trace_data), hdr0, (hdr0->length*4) );
             }
 
          /* Process packet 1 */
@@ -216,7 +204,7 @@ nsh_pop_inline (vlib_main_t * vm,
          if (PREDICT_FALSE(b1->flags & VLIB_BUFFER_IS_TRACED))
            {
              nsh_input_trace_t *tr = vlib_add_trace(vm, node, b1, sizeof(*tr));
-             clib_memcpy ( &(tr->trace_data), hdr1, (hdr1->length*4) );
+             clib_memcpy_fast ( &(tr->trace_data), hdr1, (hdr1->length*4) );
            }
 
          vlib_validate_buffer_enqueue_x2(vm, node, next_index, to_next,
@@ -301,7 +289,7 @@ nsh_pop_inline (vlib_main_t * vm,
          if (PREDICT_FALSE(b0->flags & VLIB_BUFFER_IS_TRACED))
            {
              nsh_input_trace_t *tr = vlib_add_trace(vm, node, b0, sizeof(*tr));
-             clib_memcpy ( &(tr->trace_data[0]), hdr0, (hdr0->length*4) );
+             clib_memcpy_fast ( &(tr->trace_data[0]), hdr0, (hdr0->length*4) );
            }
 
          vlib_validate_buffer_enqueue_x1(vm, node, next_index, to_next,
@@ -326,8 +314,7 @@ nsh_pop_inline (vlib_main_t * vm,
  * @return from_frame->n_vectors
  *
  */
-static uword
-nsh_pop (vlib_main_t * vm, vlib_node_runtime_t * node,
+VLIB_NODE_FN (nsh_pop_node) (vlib_main_t * vm, vlib_node_runtime_t * node,
                   vlib_frame_t * from_frame)
 {
   return nsh_pop_inline (vm, node, from_frame);
@@ -341,7 +328,6 @@ static char * nsh_pop_node_error_strings[] = {
 
 /* register nsh-input node */
 VLIB_REGISTER_NODE (nsh_pop_node) = {
-  .function = nsh_pop,
   .name = "nsh-pop",
   .vector_size = sizeof (u32),
   .format_trace = format_nsh_pop_node_map_trace,
@@ -360,6 +346,3 @@ VLIB_REGISTER_NODE (nsh_pop_node) = {
   },
 };
 
-VLIB_NODE_FUNCTION_MULTIARCH (nsh_pop_node, nsh_pop);
-
-