diff options
author | Steven Luong <sluong@cisco.com> | 2023-12-14 08:54:55 -0800 |
---|---|---|
committer | Beno�t Ganne <bganne@cisco.com> | 2024-08-29 12:41:30 +0000 |
commit | e9bc3320192d72f817379aa4621c1dff15bdee29 (patch) | |
tree | 4eecbe14e7505f5349cb0d805814d68d8c044327 /src/vnet/devices/virtio/virtio_api.c | |
parent | fc49c63e7426d5c254b4c38f2e74a9a6d75f11ba (diff) |
virtio: RSS support
Add RSS support to make use of multiple queues.
With 4 RX queues and RSS enabled
ping from host to guest vm ip queue use
192.168.2.3 192.168.2.1 2
'' 192.168.2.10 0
'' 192.168.2.5 1
'' 192.168.2.105 3
With 4 RX queues and RSS disabled, queue 0 is always used for all of the above cases
Type: improvement
Change-Id: I3ca78fd83fce26cbe8f23fee0a9034cb572bacb7
Signed-off-by: Steven Luong <sluong@cisco.com>
Diffstat (limited to 'src/vnet/devices/virtio/virtio_api.c')
-rw-r--r-- | src/vnet/devices/virtio/virtio_api.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/vnet/devices/virtio/virtio_api.c b/src/vnet/devices/virtio/virtio_api.c index 3197a2fab6d..2e25efff29e 100644 --- a/src/vnet/devices/virtio/virtio_api.c +++ b/src/vnet/devices/virtio/virtio_api.c @@ -111,18 +111,18 @@ vl_api_virtio_pci_create_v2_t_handler (vl_api_virtio_pci_create_v2_t * mp) STATIC_ASSERT (((int) VIRTIO_API_FLAG_BUFFERING == (int) VIRTIO_FLAG_BUFFERING), "virtio buffering api flag mismatch"); + STATIC_ASSERT (((int) VIRTIO_API_FLAG_RSS == (int) VIRTIO_FLAG_RSS), + "virtio rss api flag mismatch"); ap->virtio_flags = clib_net_to_host_u32 (mp->virtio_flags); ap->features = clib_net_to_host_u64 (mp->features); if (ap->virtio_flags & VIRTIO_API_FLAG_GSO) ap->gso_enabled = 1; - else - ap->gso_enabled = 0; if (ap->virtio_flags & VIRTIO_API_FLAG_CSUM_OFFLOAD) ap->checksum_offload_enabled = 1; - else - ap->checksum_offload_enabled = 0; + if (ap->virtio_flags & VIRTIO_API_FLAG_RSS) + ap->rss_enabled = 1; virtio_pci_create_if (vm, ap); |