X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fdevices%2Faf_packet%2Fdevice.c;h=9d08c620d9492a46d354bd0d2b8e48b1807ad4ed;hb=refs%2Fchanges%2F16%2F15916%2F4;hp=b8c7501710ec17a141463c96d4376935bd0d1008;hpb=3b81a1e5f205482b8ea30edbfd39559c4368ac4d;p=vpp.git diff --git a/src/vnet/devices/af_packet/device.c b/src/vnet/devices/af_packet/device.c index b8c7501710e..9d08c620d94 100644 --- a/src/vnet/devices/af_packet/device.c +++ b/src/vnet/devices/af_packet/device.c @@ -81,7 +81,7 @@ af_packet_interface_tx (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) { af_packet_main_t *apm = &af_packet_main; - u32 *buffers = vlib_frame_args (frame); + u32 *buffers = vlib_frame_vector_args (frame); u32 n_left = frame->n_vectors; u32 n_sent = 0; vnet_interface_output_runtime_t *rd = (void *) node->runtime_data; @@ -119,9 +119,9 @@ af_packet_interface_tx (vlib_main_t * vm, { b0 = vlib_get_buffer (vm, bi); len = b0->current_length; - clib_memcpy ((u8 *) tph + - TPACKET_ALIGN (sizeof (struct tpacket2_hdr)) + offset, - vlib_buffer_get_current (b0), len); + clib_memcpy_fast ((u8 *) tph + + TPACKET_ALIGN (sizeof (struct tpacket2_hdr)) + + offset, vlib_buffer_get_current (b0), len); offset += len; } while ((bi = @@ -168,7 +168,7 @@ af_packet_interface_tx (vlib_main_t * vm, vlib_error_count (vm, node->node_index, AF_PACKET_TX_ERROR_TXRING_OVERRUN, n_left); - vlib_buffer_free (vm, vlib_frame_args (frame), frame->n_vectors); + vlib_buffer_free (vm, vlib_frame_vector_args (frame), frame->n_vectors); return frame->n_vectors; }