vmxnet3: error handling
[vpp.git] / src / plugins / vmxnet3 / cli.c
index 3e3ab9d..40d379b 100644 (file)
@@ -31,13 +31,14 @@ vmxnet3_create_command_fn (vlib_main_t * vm, unformat_input_t * input,
                           vlib_cli_command_t * cmd)
 {
   unformat_input_t _line_input, *line_input = &_line_input;
-  vmxnet3_create_if_args_t args = { 0 };
+  vmxnet3_create_if_args_t args;
   u32 tmp;
 
   /* Get a line of input. */
   if (!unformat_user (input, unformat_line_input, line_input))
     return 0;
 
+  memset (&args, 0, sizeof (args));
   while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
     {
       if (unformat (line_input, "%U", unformat_vlib_pci_addr, &args.addr))
@@ -205,8 +206,9 @@ show_vmxnet3 (vlib_main_t * vm, u32 * hw_if_indices, u8 show_descr)
     {
       hi = vnet_get_hw_interface (vnm, hw_if_indices[i]);
       vd = vec_elt_at_index (vmxm->devices, hi->dev_instance);
-      vlib_cli_output (vm, "Interface: %s (ifindex %d)",
-                      hi->name, hw_if_indices[i]);
+      vlib_cli_output (vm, "Interface: %U (ifindex %d)",
+                      format_vnet_hw_if_index_name, vnm, hw_if_indices[i],
+                      hw_if_indices[i]);
       vlib_cli_output (vm, "  Version: %u", vd->version);
       vlib_cli_output (vm, "  PCI Address: %U", format_vlib_pci_addr,
                       &vd->pci_addr);
@@ -224,6 +226,8 @@ show_vmxnet3 (vlib_main_t * vm, u32 * hw_if_indices, u8 show_descr)
        vlib_cli_output (vm, "  Queue %u (RX)", qid);
        vlib_cli_output (vm, "    RX completion next index %u",
                         rxq->rx_comp_ring.next);
+       vlib_cli_output (vm, "    RX completion generation flag 0x%x",
+                        rxq->rx_comp_ring.gen);
        for (rid = 0; rid < VMXNET3_RX_RING_SIZE; rid++)
          {
            vmxnet3_rx_ring *ring = &rxq->rx_ring[rid];
@@ -264,6 +268,8 @@ show_vmxnet3 (vlib_main_t * vm, u32 * hw_if_indices, u8 show_descr)
        vlib_cli_output (vm, "  Queue %u (TX)", qid);
        vlib_cli_output (vm, "    TX completion next index %u",
                         txq->tx_comp_ring.next);
+       vlib_cli_output (vm, "    TX completion generation flag 0x%x",
+                        txq->tx_comp_ring.gen);
        vlib_cli_output (vm, "    size %u consume %u produce %u",
                         txq->size, txq->tx_ring.consume,
                         txq->tx_ring.produce);