devices: add cli support to disable qdisc bypass
[vpp.git] / src / vnet / devices / af_packet / cli.c
index c90d525..443a1d5 100644 (file)
@@ -58,6 +58,9 @@ af_packet_create_command_fn (vlib_main_t * vm, unformat_input_t * input,
   arg->num_rxqs = 1;
   arg->num_txqs = 1;
 
+  // Default flags
+  arg->flags = AF_PACKET_IF_FLAGS_QDISC_BYPASS;
+
   /* Get a line of input. */
   if (!unformat_user (input, unformat_line_input, line_input))
     return 0;
@@ -80,6 +83,8 @@ af_packet_create_command_fn (vlib_main_t * vm, unformat_input_t * input,
        ;
       else if (unformat (line_input, "num-tx-queues %u", &arg->num_txqs))
        ;
+      else if (unformat (line_input, "qdisc-bypass-disable"))
+       arg->flags &= ~AF_PACKET_IF_FLAGS_QDISC_BYPASS;
       else if (unformat (line_input, "mode ip"))
        arg->mode = AF_PACKET_IF_MODE_IP;
       else if (unformat (line_input, "hw-addr %U", unformat_ethernet_address,
@@ -154,7 +159,8 @@ done:
 VLIB_CLI_COMMAND (af_packet_create_command, static) = {
   .path = "create host-interface",
   .short_help = "create host-interface name <ifname> [num-rx-queues <n>] "
-               "[num-tx-queues <n>] [hw-addr <mac-addr>] [mode ip]",
+               "[num-tx-queues <n>] [hw-addr <mac-addr>] [mode ip] "
+               "[qdisc-bypass-disable]",
   .function = af_packet_create_command_fn,
 };