Add support for multiple microarchitectures in single binary
[vpp.git] / vnet / vnet / l2 / l2_efp_filter.c
index a8bceca..17b7eb3 100644 (file)
@@ -347,18 +347,18 @@ l2_efp_filter_node_fn (vlib_main_t * vm,
               l2_efp_filter_trace_t *t = 
                  vlib_add_trace (vm, node, b0, sizeof (*t));
               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) {
               ethernet_header_t * h1 = vlib_buffer_get_current (b1);
               l2_efp_filter_trace_t *t =
                  vlib_add_trace (vm, node, b1, sizeof (*t));
               t->sw_if_index = sw_if_index1;
-              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));
             }
           }
 
@@ -462,9 +462,9 @@ l2_efp_filter_node_fn (vlib_main_t * vm,
             l2_efp_filter_trace_t *t = 
                vlib_add_trace (vm, node, b0, sizeof (*t));
             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 */
@@ -498,6 +498,8 @@ VLIB_REGISTER_NODE (l2_efp_filter_node,static) = {
   },
 };
 
+VLIB_NODE_FUNCTION_MULTIARCH (l2_efp_filter_node, l2_efp_filter_node_fn)
+
 clib_error_t *l2_efp_filter_init (vlib_main_t *vm)
 {
   l2_efp_filter_main_t * mp = &l2_efp_filter_main;