diff options
author | Damjan Marion <damarion@cisco.com> | 2018-05-28 21:26:47 +0200 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2018-05-29 17:00:26 +0000 |
commit | 812b32dd8f637118bf65de2cdff0e95b421a963b (patch) | |
tree | 184d57889b841958875d57c6503d8bfb96cdaec7 /src/plugins/avf | |
parent | 04e0bb2ff0f39dab45da01ecdbc7914035a36897 (diff) |
Add VLIB_NODE_FN() macro to simplify multiversioning of node functions
Change-Id: Ibab5e27277f618ceb2d543b9d6a1a5f191e7d1db
Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/plugins/avf')
-rw-r--r-- | src/plugins/avf/input.c | 20 | ||||
-rw-r--r-- | src/plugins/avf/output.c | 2 |
2 files changed, 3 insertions, 19 deletions
diff --git a/src/plugins/avf/input.c b/src/plugins/avf/input.c index 931bfa39de9..5b7f48a3ed7 100644 --- a/src/plugins/avf/input.c +++ b/src/plugins/avf/input.c @@ -375,8 +375,7 @@ avf_device_input_inline (vlib_main_t * vm, vlib_node_runtime_t * node, return n_rx_packets; } -uword -CLIB_MULTIARCH_FN (avf_input) (vlib_main_t * vm, vlib_node_runtime_t * node, +VLIB_NODE_FN (avf_input_node) (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) { u32 n_rx = 0; @@ -399,10 +398,9 @@ CLIB_MULTIARCH_FN (avf_input) (vlib_main_t * vm, vlib_node_runtime_t * node, return n_rx; } -#ifndef CLIB_MULTIARCH_VARIANT +#ifndef CLIB_MARCH_VARIANT /* *INDENT-OFF* */ VLIB_REGISTER_NODE (avf_input_node) = { - .function = avf_input, .name = "avf-input", .sibling_of = "device-input", .format_trace = format_avf_input_trace, @@ -411,20 +409,6 @@ VLIB_REGISTER_NODE (avf_input_node) = { .n_errors = AVF_INPUT_N_ERROR, .error_strings = avf_input_error_strings, }; - -#if __x86_64__ -vlib_node_function_t __clib_weak avf_input_avx512; -vlib_node_function_t __clib_weak avf_input_avx2; -static void __clib_constructor -avf_input_multiarch_select (void) -{ - if (avf_input_avx512 && clib_cpu_supports_avx512f ()) - avf_input_node.function = avf_input_avx512; - else if (avf_input_avx2 && clib_cpu_supports_avx2 ()) - avf_input_node.function = avf_input_avx2; -} - -#endif #endif /* *INDENT-ON* */ diff --git a/src/plugins/avf/output.c b/src/plugins/avf/output.c index 8e5fa6a43f8..ec4d7f6c0a2 100644 --- a/src/plugins/avf/output.c +++ b/src/plugins/avf/output.c @@ -159,7 +159,7 @@ CLIB_MULTIARCH_FN (avf_interface_tx) (vlib_main_t * vm, return frame->n_vectors - n_left; } -#ifndef CLIB_MULTIARCH_VARIANT +#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; |