diff options
author | Andrew Melnychenko <andrew@daynix.com> | 2021-05-14 14:48:33 +0300 |
---|---|---|
committer | Jason Wang <jasowang@redhat.com> | 2021-06-04 15:25:46 +0800 |
commit | 0145c3934895e2cb2b8bd679ca274bc5f7e76de7 (patch) | |
tree | 8a09cf572d7634ac3e70250684b8a7cfaa5565ba /hw/net/vhost_net.c | |
parent | 46627f41b6b781885c64a2b12814060a7ca8da36 (diff) | |
download | qemu-0145c3934895e2cb2b8bd679ca274bc5f7e76de7.zip qemu-0145c3934895e2cb2b8bd679ca274bc5f7e76de7.tar.gz qemu-0145c3934895e2cb2b8bd679ca274bc5f7e76de7.tar.bz2 |
virtio-net: Added eBPF RSS to virtio-net.
When RSS is enabled the device tries to load the eBPF program
to select RX virtqueue in the TUN. If eBPF can be loaded
the RSS will function also with vhost (works with kernel 5.8 and later).
Software RSS is used as a fallback with vhost=off when eBPF can't be loaded
or when hash population requested by the guest.
Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
Signed-off-by: Andrew Melnychenko <andrew@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'hw/net/vhost_net.c')
-rw-r--r-- | hw/net/vhost_net.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c index 24d555e..44c1ed9 100644 --- a/hw/net/vhost_net.c +++ b/hw/net/vhost_net.c @@ -45,6 +45,7 @@ static const int kernel_feature_bits[] = { VIRTIO_NET_F_MTU, VIRTIO_F_IOMMU_PLATFORM, VIRTIO_F_RING_PACKED, + VIRTIO_NET_F_HASH_REPORT, VHOST_INVALID_FEATURE_BIT }; @@ -71,6 +72,8 @@ static const int user_feature_bits[] = { VIRTIO_NET_F_MTU, VIRTIO_F_IOMMU_PLATFORM, VIRTIO_F_RING_PACKED, + VIRTIO_NET_F_RSS, + VIRTIO_NET_F_HASH_REPORT, /* This bit implies RARP isn't sent by QEMU out of band */ VIRTIO_NET_F_GUEST_ANNOUNCE, |