Based-on: <20230524064704.47711-1-akihiko.od...@daynix.com> ("[PATCH 0/2] net: Update MemReentrancyGuard for NIC")
This series contains fixes and improvements for virtio-net RSS and hash reporting feature. V5 -> V6: Corrected the message for patch "virtio-net: Return an error when vhost cannot enable RSS". Removed changes to introduce asserts from "virtio-net: Return an error when vhost cannot enable RSS". Reorganized patches "virtio-net: Return an error when vhost cannot enable RSS" and "virtio-net: Do not clear VIRTIO_NET_F_RSS". This version now contains patches "virtio-net: Return an error when vhost cannot enable RSS" and "virtio-net: Enable software RSS". Rebased. V4 -> V5: Added patch "virtio-net: Do not write hashes to peer buffer". V3 -> V4: Extract patches "tap: Remove tap_receive()" and "net: Remove flag propagation" from "net: Remove receive_raw()". Added patch "virtio-net: Always set populate_hash". Added patch "virtio-net: Do not clear VIRTIO_NET_F_HASH_REPORT". Added patch "ebpf: Use standard section name". Added patch "ebpf: Simplify error handling". Added patch "ebpf: Return 0 when configuration fails". Added patch "ebpf: Refactor tun_rss_steering_prog()". Added patch "ebpf: Add a separate target for skeleton". V2 -> V3: Added patch "tap: Remove tap_probe_vnet_hdr_len()". Added patch "tap: Remove qemu_using_vnet_hdr()". Added patch "net: Move virtio-net header length assertion". Added patch "net: Remove receive_raw()". Added patch "tap: Shrink zeroed virtio-net header". Dropped patch "tap: Fix virtio-net header buffer size". V1 -> V2: Added patch "ebpf: Fix RSS error handling". Akihiko Odaki (21): tap: Remove tap_probe_vnet_hdr_len() tap: Remove qemu_using_vnet_hdr() net: Move virtio-net header length assertion net: Remove receive_raw() tap: Remove tap_receive() net: Remove flag propagation tap: Shrink zeroed virtio-net header virtio-net: Copy header only when necessary virtio-net: Disable RSS on reset virtio-net: Unify the logic to update NIC state for RSS virtio-net: Return an error when vhost cannot enable RSS virtio-net: Enable software RSS virtio-net: Always set populate_hash virtio-net: Do not write hashes to peer buffer virtio-net: Do not clear VIRTIO_NET_F_HASH_REPORT ebpf: Fix RSS error handling ebpf: Use standard section name ebpf: Simplify error handling ebpf: Return 0 when configuration fails ebpf: Refactor tun_rss_steering_prog() ebpf: Add a separate target for skeleton ebpf/rss.bpf.skeleton.h | 1557 +++++++++++++++++++------------------- include/net/filter.h | 3 - include/net/net.h | 7 - include/net/queue.h | 7 - include/sysemu/replay.h | 2 +- net/tap_int.h | 1 - ebpf/ebpf_rss.c | 12 +- hw/net/e1000e.c | 1 - hw/net/igb.c | 1 - hw/net/net_tx_pkt.c | 4 +- hw/net/virtio-net.c | 310 ++++---- hw/net/vmxnet3.c | 2 - net/dump.c | 8 +- net/filter-buffer.c | 4 +- net/filter-mirror.c | 6 +- net/filter-replay.c | 3 +- net/filter-rewriter.c | 5 +- net/filter.c | 8 +- net/net.c | 83 +- net/netmap.c | 5 - net/queue.c | 30 +- net/tap-bsd.c | 5 - net/tap-linux.c | 20 - net/tap-solaris.c | 5 - net/tap-stub.c | 5 - net/tap.c | 74 +- replay/replay-net.c | 8 +- tools/ebpf/rss.bpf.c | 46 +- tools/ebpf/Makefile.ebpf | 15 +- 29 files changed, 1016 insertions(+), 1221 deletions(-) -- 2.42.0