diff options
author | Aloys Augustin <aloaugus@cisco.com> | 2020-03-16 17:29:52 +0100 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2020-04-28 21:10:36 +0000 |
commit | 2857e7850c2a2de02eb9f61c5d760100e382aa09 (patch) | |
tree | f39742d1ce6c41467e0a582614f36d9596b65376 /src/vnet/devices/virtio | |
parent | beee60d2c34f7d72afd8d795416b431929c87071 (diff) |
tap: use one tap fd per rx queue
This matches vhost queues to linux netdev queues and avoids random
packet shuffling across vhost queues on rx.
Change-Id: I9901689d361e440fb0b91c9fbaf8124ce525b316
Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Diffstat (limited to 'src/vnet/devices/virtio')
-rw-r--r-- | src/vnet/devices/virtio/virtio.c | 5 | ||||
-rw-r--r-- | src/vnet/devices/virtio/virtio.h | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/vnet/devices/virtio/virtio.c b/src/vnet/devices/virtio/virtio.c index 00a588af346..858105c42b5 100644 --- a/src/vnet/devices/virtio/virtio.c +++ b/src/vnet/devices/virtio/virtio.c @@ -312,7 +312,10 @@ virtio_show (vlib_main_t * vm, u32 * hw_if_indices, u8 show_descr, u32 type) str = format (str, " %d", vif->vhost_fds[i]); vlib_cli_output (vm, " vhost-fds%v", str); vec_free (str); - vlib_cli_output (vm, " tap-fd %d", vif->tap_fd); + vec_foreach_index (i, vif->tap_fds) + str = format (str, " %d", vif->tap_fds[i]); + vlib_cli_output (vm, " tap-fds%v", str); + vec_free (str); } vlib_cli_output (vm, " gso-enabled %d", vif->gso_enabled); vlib_cli_output (vm, " csum-enabled %d", vif->csum_offload_enabled); diff --git a/src/vnet/devices/virtio/virtio.h b/src/vnet/devices/virtio/virtio.h index 3e8f9416483..3151c50cbb4 100644 --- a/src/vnet/devices/virtio/virtio.h +++ b/src/vnet/devices/virtio/virtio.h @@ -156,7 +156,7 @@ typedef struct }; u32 per_interface_next_index; int *vhost_fds; - int tap_fd; + int *tap_fds; u32 msix_enabled; u32 pci_dev_handle; virtio_vring_t *rxq_vrings; |