I'm proposing to add a feature to offload virtio-net RSS/hash report to Linux. This series contain patches to utilize the proposed Linux feature. The patches for Linux are available at: https://lore.kernel.org/r/20250307-rss-v9-0-df7662402...@daynix.com/
This work was presented at LPC 2024: https://lpc.events/event/18/contributions/1963/ Patch "docs/devel/ebpf_rss.rst: Update for peer RSS" provides comparion of existing RSS mechanism and the new one (called "peer RSS") and explains how QEMU selects one. --- Changes in v4: - Rebased. - Added a reference to the documentation to the cover letter. - Link to v3: https://lore.kernel.org/r/20240915-hash-v3-0-79cb08d28...@daynix.com --- Akihiko Odaki (11): qdev-properties: Add DEFINE_PROP_ON_OFF_AUTO_BIT64() net/vhost-vdpa: Report hashing capability virtio-net: Move virtio_net_get_features() down virtio-net: Retrieve peer hashing capability net/vhost-vdpa: Remove dummy SetSteeringEBPF virtio-net: Add hash type options net: Allow configuring virtio hashing virtio-net: Use qemu_set_vnet_hash() virtio-net: Offload hashing without vhost tap: Report virtio-net hashing support on Linux docs/devel/ebpf_rss.rst: Update for peer RSS docs/devel/ebpf_rss.rst | 23 ++- include/hw/qdev-properties.h | 18 +++ include/hw/virtio/virtio-net.h | 6 +- include/net/net.h | 20 +++ net/tap-linux.h | 2 + net/tap_int.h | 3 + hw/core/qdev-properties.c | 67 ++++++++- hw/net/virtio-net.c | 331 +++++++++++++++++++++++++++++------------ net/net.c | 14 ++ net/tap-bsd.c | 10 ++ net/tap-linux.c | 18 +++ net/tap-solaris.c | 10 ++ net/tap-stub.c | 10 ++ net/tap.c | 15 ++ net/vhost-vdpa.c | 41 ++++- 15 files changed, 478 insertions(+), 110 deletions(-) --- base-commit: 825b96dbcee23d134b691fc75618b59c5f53da32 change-id: 20240828-hash-628329a45d4d Best regards, -- Akihiko Odaki <akihiko.od...@daynix.com>