l2_rw preload starts where data is
[vpp.git] / vnet / vnet / l2 / l2_rw.c
index 93580c2..ffb10f3 100644 (file)
@@ -166,8 +166,8 @@ l2_rw_node_fn(vlib_main_t * vm,
 
         vlib_prefetch_buffer_header (p2, LOAD);
         vlib_prefetch_buffer_header (p3, LOAD);
-        CLIB_PREFETCH (p2->data, prefetch_size, LOAD);
-        CLIB_PREFETCH (p3->data, prefetch_size, LOAD);
+        CLIB_PREFETCH (vlib_buffer_get_current(p2), prefetch_size, LOAD);
+        CLIB_PREFETCH (vlib_buffer_get_current(p3), prefetch_size, LOAD);
       }
 
       bi0 = from[0];
@@ -604,3 +604,5 @@ VLIB_REGISTER_NODE (l2_rw_node) = {
   .next_nodes = { [L2_RW_NEXT_DROP]  = "error-drop"},
 };
 
+VLIB_NODE_FUNCTION_MULTIARCH (l2_rw_node, l2_rw_node_fn)
+