virtio: fix the type of argument in virtio_show() 96/33796/3
authorMohsin Kazmi <sykazmi@cisco.com>
Wed, 22 Sep 2021 18:56:05 +0000 (18:56 +0000)
committerMohsin Kazmi <sykazmi@cisco.com>
Wed, 22 Sep 2021 20:19:45 +0000 (20:19 +0000)
Type: fix

virtio have three different interfaces (tap, tun and native virtio).
virtio_show() is used by CLI commands to show information about these
interfaces. It uses interface type to print interface specific information.
virtio_show() should use proper type for virtio interfaces (TAP, TUN, VIRTIO).

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I2043dc2cfe2e2f6c7c9348b8494aa4a27cab31f3

src/vnet/devices/virtio/virtio.c
src/vnet/devices/virtio/virtio.h

index b8054d1..73cd95e 100644 (file)
@@ -295,7 +295,8 @@ virtio_set_net_hdr_size (virtio_if_t * vif)
 }
 
 inline void
-virtio_show (vlib_main_t * vm, u32 * hw_if_indices, u8 show_descr, u32 type)
+virtio_show (vlib_main_t *vm, u32 *hw_if_indices, u8 show_descr,
+            virtio_if_type_t type)
 {
   u32 i, j, hw_if_index;
   virtio_if_t *vif;
@@ -407,8 +408,8 @@ virtio_show (vlib_main_t * vm, u32 * hw_if_indices, u8 show_descr, u32 type)
        }
       vlib_cli_output (vm, "  Number of RX Virtqueue  %u", vif->num_rxqs);
       vlib_cli_output (vm, "  Number of TX Virtqueue  %u", vif->num_txqs);
-      if (vif->cxq_vring != NULL
-         && vif->features & VIRTIO_FEATURE (VIRTIO_NET_F_CTRL_VQ))
+      if (type == VIRTIO_IF_TYPE_PCI && vif->cxq_vring != NULL &&
+         vif->features & VIRTIO_FEATURE (VIRTIO_NET_F_CTRL_VQ))
        vlib_cli_output (vm, "  Number of CTRL Virtqueue 1");
       vec_foreach_index (i, vif->rxq_vrings)
       {
@@ -542,8 +543,8 @@ virtio_show (vlib_main_t * vm, u32 * hw_if_indices, u8 show_descr, u32 type)
              }
          }
       }
-      if (vif->cxq_vring != NULL
-         && vif->features & VIRTIO_FEATURE (VIRTIO_NET_F_CTRL_VQ))
+      if (type == VIRTIO_IF_TYPE_PCI && vif->cxq_vring != NULL &&
+         vif->features & VIRTIO_FEATURE (VIRTIO_NET_F_CTRL_VQ))
        {
          vring = vif->cxq_vring;
          vlib_cli_output (vm, "  Virtqueue (CTRL) %d", vring->queue_id);
index 4899605..87ecfcb 100644 (file)
@@ -235,8 +235,8 @@ clib_error_t *virtio_vring_free_tx (vlib_main_t * vm, virtio_if_t * vif,
 void virtio_vring_set_rx_queues (vlib_main_t *vm, virtio_if_t *vif);
 extern void virtio_free_buffers (vlib_main_t * vm, virtio_vring_t * vring);
 extern void virtio_set_net_hdr_size (virtio_if_t * vif);
-extern void virtio_show (vlib_main_t * vm, u32 * hw_if_indices, u8 show_descr,
-                        u32 type);
+extern void virtio_show (vlib_main_t *vm, u32 *hw_if_indices, u8 show_descr,
+                        virtio_if_type_t type);
 extern void virtio_set_packet_coalesce (virtio_if_t * vif);
 clib_error_t *virtio_set_packet_buffering (virtio_if_t * vif, u16 size);
 extern void virtio_pci_legacy_notify_queue (vlib_main_t * vm,