tap: multiqueue support
[vpp.git] / src / vnet / devices / tap / cli.c
index c74d24a..abec8f0 100644 (file)
@@ -37,9 +37,12 @@ tap_create_command_fn (vlib_main_t * vm, unformat_input_t * input,
   unformat_input_t _line_input, *line_input = &_line_input;
   tap_create_if_args_t args = { 0 };
   int ip_addr_set = 0;
+  u32 tmp;
 
   args.id = ~0;
   args.tap_flags = 0;
+  args.rv = -1;
+  args.num_rx_queues = 1;
 
   /* Get a line of input. */
   if (unformat_user (input, unformat_line_input, line_input))
@@ -72,10 +75,12 @@ tap_create_command_fn (vlib_main_t * vm, unformat_input_t * input,
          else if (unformat (line_input, "host-ip6-gw %U",
                             unformat_ip6_address, &args.host_ip6_gw))
            args.host_ip6_gw_set = 1;
-         else if (unformat (line_input, "rx-ring-size %d", &args.rx_ring_sz))
-           ;
-         else if (unformat (line_input, "tx-ring-size %d", &args.tx_ring_sz))
-           ;
+         else if (unformat (line_input, "num-rx-queues %d", &tmp))
+           args.num_rx_queues = tmp;
+         else if (unformat (line_input, "rx-ring-size %d", &tmp))
+           args.rx_ring_sz = tmp;
+         else if (unformat (line_input, "tx-ring-size %d", &tmp))
+           args.tx_ring_sz = tmp;
          else
            if (unformat
                (line_input, "host-mtu-size %d", &args.host_mtu_size))
@@ -103,6 +108,10 @@ tap_create_command_fn (vlib_main_t * vm, unformat_input_t * input,
 
   tap_create_if (vm, &args);
 
+  if (!args.rv)
+    vlib_cli_output (vm, "%U\n", format_vnet_sw_if_index_name,
+                    vnet_get_main (), args.sw_if_index);
+
   vec_free (args.host_if_name);
   vec_free (args.host_namespace);
   vec_free (args.host_bridge);