Add support for multiple microarchitectures in single binary
[vpp.git] / vnet / vnet / devices / dpdk / cli.c
index 9ec1986..9063cad 100644 (file)
@@ -759,6 +759,7 @@ set_efd (vlib_main_t *vm, unformat_input_t *input,
     dpdk_main_t * dm = &dpdk_main;
     vlib_thread_main_t * tm = vlib_get_thread_main();
     clib_error_t * error = NULL;
+    vlib_node_runtime_t * rt = vlib_node_get_runtime (vm, dpdk_input_node.index);
 
     if (unformat(input, "enable")) {
         if (unformat(input, "dpdk")) {
@@ -844,6 +845,13 @@ set_efd (vlib_main_t *vm, unformat_input_t *input,
                                   format_unformat_error, input);
     }
 
+    if (dm->efd.enabled)
+       rt->function = dpdk_input_efd_multiarch_select();
+    else if (dm->use_rss)
+       rt->function = dpdk_input_rss_multiarch_select();
+    else
+       rt->function = dpdk_input_multiarch_select();
+
     return error;
 }