diff options
author | Mohsin Kazmi <sykazmi@cisco.com> | 2018-07-23 14:45:57 +0200 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2018-08-11 15:01:42 +0000 |
commit | dd8e7d0e512425ec05de652a3c71028561e0f40a (patch) | |
tree | 849eaaabe4c2a07a0bd9cf8173e6cfbac31ffdf5 /src/plugins/avf | |
parent | 7f1f7e7865f07f98b5ab6d4ab483cd9a51e4ce4e (diff) |
Multiversioning: Device (tx) function constructor
Change-Id: I39f87ca161c891fb22462a23188982fef7c3243f
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Diffstat (limited to 'src/plugins/avf')
-rw-r--r-- | src/plugins/avf/avf.h | 2 | ||||
-rw-r--r-- | src/plugins/avf/device.c | 1 | ||||
-rw-r--r-- | src/plugins/avf/output.c | 22 |
3 files changed, 3 insertions, 22 deletions
diff --git a/src/plugins/avf/avf.h b/src/plugins/avf/avf.h index 3ee80158667..1dc5d96ec72 100644 --- a/src/plugins/avf/avf.h +++ b/src/plugins/avf/avf.h @@ -216,8 +216,6 @@ void avf_delete_if (vlib_main_t * vm, avf_device_t * ad); extern vlib_node_registration_t avf_input_node; extern vnet_device_class_t avf_device_class; -uword avf_interface_tx (vlib_main_t * vm, vlib_node_runtime_t * node, - vlib_frame_t * frame); /* format.c */ format_function_t format_avf_device; diff --git a/src/plugins/avf/device.c b/src/plugins/avf/device.c index a6af902a7fc..94b5ca46648 100644 --- a/src/plugins/avf/device.c +++ b/src/plugins/avf/device.c @@ -1299,7 +1299,6 @@ avf_interface_rx_mode_change (vnet_main_t * vnm, u32 hw_if_index, u32 qid, VNET_DEVICE_CLASS (avf_device_class,) = { .name = "Adaptive Virtual Function (AVF) interface", - .tx_function = avf_interface_tx, .format_device = format_avf_device, .format_device_name = format_avf_device_name, .admin_up_down_function = avf_interface_admin_up_down, diff --git a/src/plugins/avf/output.c b/src/plugins/avf/output.c index 68420a7a1d4..2001c117d38 100644 --- a/src/plugins/avf/output.c +++ b/src/plugins/avf/output.c @@ -34,10 +34,9 @@ avf_tx_desc_get_dtyp (avf_tx_desc_t * d) return d->qword[1] & 0x0f; } -uword -CLIB_MULTIARCH_FN (avf_interface_tx) (vlib_main_t * vm, - vlib_node_runtime_t * node, - vlib_frame_t * frame) +VNET_DEVICE_CLASS_TX_FN (avf_device_class) (vlib_main_t * vm, + vlib_node_runtime_t * node, + vlib_frame_t * frame) { avf_main_t *am = &avf_main; vnet_interface_output_runtime_t *rd = (void *) node->runtime_data; @@ -159,21 +158,6 @@ CLIB_MULTIARCH_FN (avf_interface_tx) (vlib_main_t * vm, return frame->n_vectors - n_left; } -#ifndef CLIB_MARCH_VARIANT -#if __x86_64__ -vlib_node_function_t __clib_weak avf_interface_tx_avx512; -vlib_node_function_t __clib_weak avf_interface_tx_avx2; -static void __clib_constructor -avf_interface_tx_multiarch_select (void) -{ - if (avf_interface_tx_avx512 && clib_cpu_supports_avx512f ()) - avf_device_class.tx_function = avf_interface_tx_avx512; - else if (avf_interface_tx_avx2 && clib_cpu_supports_avx2 ()) - avf_device_class.tx_function = avf_interface_tx_avx2; -} -#endif -#endif - /* * fd.io coding-style-patch-verification: ON * |