Add support for multiple microarchitectures in single binary
[vpp.git] / vnet / vnet / l2 / l2_input_vtr.c
index d07a028..d0f2181 100644 (file)
@@ -189,18 +189,18 @@ l2_invtr_node_fn (vlib_main_t * vm,
                vlib_add_trace (vm, node, b0, sizeof (*t));
               ethernet_header_t * h0 = vlib_buffer_get_current (b0);
               t->sw_if_index = sw_if_index0;
-              memcpy(t->src, h0->src_address, 6);
-              memcpy(t->dst, h0->dst_address, 6);
-              memcpy(t->raw, &h0->type, sizeof(t->raw));
+              clib_memcpy(t->src, h0->src_address, 6);
+              clib_memcpy(t->dst, h0->dst_address, 6);
+              clib_memcpy(t->raw, &h0->type, sizeof(t->raw));
             }
             if (b1->flags & VLIB_BUFFER_IS_TRACED) {
               l2_invtr_trace_t *t = 
                vlib_add_trace (vm, node, b1, sizeof (*t));
               ethernet_header_t * h1 = vlib_buffer_get_current (b1);
               t->sw_if_index = sw_if_index0;
-              memcpy(t->src, h1->src_address, 6);
-              memcpy(t->dst, h1->dst_address, 6);
-              memcpy(t->raw, &h1->type, sizeof(t->raw));
+              clib_memcpy(t->src, h1->src_address, 6);
+              clib_memcpy(t->dst, h1->dst_address, 6);
+              clib_memcpy(t->raw, &h1->type, sizeof(t->raw));
             }
           }
 
@@ -257,9 +257,9 @@ l2_invtr_node_fn (vlib_main_t * vm,
                vlib_add_trace (vm, node, b0, sizeof (*t));
             ethernet_header_t * h0 = vlib_buffer_get_current (b0);
             t->sw_if_index = sw_if_index0;
-            memcpy(t->src, h0->src_address, 6);
-            memcpy(t->dst, h0->dst_address, 6);
-            memcpy(t->raw, &h0->type, sizeof(t->raw));
+            clib_memcpy(t->src, h0->src_address, 6);
+            clib_memcpy(t->dst, h0->dst_address, 6);
+            clib_memcpy(t->raw, &h0->type, sizeof(t->raw));
           }
 
           /* verify speculative enqueue, maybe switch current next frame */
@@ -293,6 +293,8 @@ VLIB_REGISTER_NODE (l2_invtr_node,static) = {
   },
 };
 
+VLIB_NODE_FUNCTION_MULTIARCH (l2_invtr_node, l2_invtr_node_fn)
+
 clib_error_t *l2_invtr_init (vlib_main_t *vm)
 {
   l2_invtr_main_t * mp = &l2_invtr_main;