X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fvnet%2Fdevices%2Faf_packet%2Fdevice.c;h=2886fb5b6d5a9643477c266a202a5b5e8a6af4ce;hb=6a69b2483198de57ef304cb5e05a2ecfb960e68f;hp=811642ec7b988f7990ed961fdae55ae7ce711e31;hpb=a3d5986a35743a3ca1020155bed8267b5246d155;p=vpp.git diff --git a/src/vnet/devices/af_packet/device.c b/src/vnet/devices/af_packet/device.c index 811642ec7b9..2886fb5b6d5 100644 --- a/src/vnet/devices/af_packet/device.c +++ b/src/vnet/devices/af_packet/device.c @@ -51,6 +51,7 @@ static char *af_packet_tx_func_error_strings[] = { }; +#ifndef CLIB_MARCH_VARIANT u8 * format_af_packet_device_name (u8 * s, va_list * args) { @@ -61,6 +62,7 @@ format_af_packet_device_name (u8 * s, va_list * args) s = format (s, "host-%s", apif->host_if_name); return s; } +#endif /* CLIB_MARCH_VARIANT */ static u8 * format_af_packet_device (u8 * s, va_list * args) @@ -76,9 +78,9 @@ format_af_packet_tx_trace (u8 * s, va_list * args) return s; } -static uword -af_packet_interface_tx (vlib_main_t * vm, - vlib_node_runtime_t * node, vlib_frame_t * frame) +VNET_DEVICE_CLASS_TX_FN (af_packet_device_class) (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_vector_args (frame); @@ -119,9 +121,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 = @@ -330,7 +332,6 @@ error: /* *INDENT-OFF* */ VNET_DEVICE_CLASS (af_packet_device_class) = { .name = "af-packet", - .tx_function = af_packet_interface_tx, .format_device_name = format_af_packet_device_name, .format_device = format_af_packet_device, .format_tx_trace = format_af_packet_tx_trace, @@ -342,9 +343,6 @@ VNET_DEVICE_CLASS (af_packet_device_class) = { .subif_add_del_function = af_packet_subif_add_del_function, .mac_addr_change_function = af_packet_set_mac_address_function, }; - -VLIB_DEVICE_TX_FUNCTION_MULTIARCH (af_packet_device_class, - af_packet_interface_tx) /* *INDENT-ON* */ /*