add vlib_prefetch_buffer_data(...) macro
[vpp.git] / src / vnet / bonding / node.c
index 361509c..d945069 100644 (file)
@@ -202,14 +202,10 @@ VLIB_NODE_FN (bond_input_node) (vlib_main_t * vm,
       /* Prefetch next iteration */
       if (PREDICT_TRUE (n_left >= 16))
        {
-         CLIB_PREFETCH (vlib_buffer_get_current (b[8]),
-                        CLIB_CACHE_LINE_BYTES, LOAD);
-         CLIB_PREFETCH (vlib_buffer_get_current (b[9]),
-                        CLIB_CACHE_LINE_BYTES, LOAD);
-         CLIB_PREFETCH (vlib_buffer_get_current (b[10]),
-                        CLIB_CACHE_LINE_BYTES, LOAD);
-         CLIB_PREFETCH (vlib_buffer_get_current (b[11]),
-                        CLIB_CACHE_LINE_BYTES, LOAD);
+         vlib_prefetch_buffer_data (b[8], LOAD);
+         vlib_prefetch_buffer_data (b[9], LOAD);
+         vlib_prefetch_buffer_data (b[10], LOAD);
+         vlib_prefetch_buffer_data (b[11], LOAD);
 
          vlib_prefetch_buffer_header (b[12], LOAD);
          vlib_prefetch_buffer_header (b[13], LOAD);
@@ -334,8 +330,8 @@ VLIB_NODE_FN (bond_input_node) (vlib_main_t * vm,
            {
              t0 = vlib_add_trace (vm, node, b[0], sizeof (*t0));
              t0->sw_if_index = sw_if_index[0];
-             clib_memcpy (&t0->ethernet, vlib_buffer_get_current (b[0]),
-                          sizeof (ethernet_header_t));
+             clib_memcpy_fast (&t0->ethernet, vlib_buffer_get_current (b[0]),
+                               sizeof (ethernet_header_t));
              t0->bond_sw_if_index = vnet_buffer (b[0])->sw_if_index[VLIB_RX];
            }
          /* next */