在 2022/4/8 20:28, Maxime Coquelin 写道:
> The goal of this series is to add support for Virtio RSS
> feature to the Vhost-user backend.
>
> First patches are preliminary reworks to support variable
> RSS key and indirection table length. eBPF change only adds
> checks on whether the key length is 40B, it does not add
> support for longer keys.
>
> Vhost-user implementation supports up to 52B RSS key, in
> order to match with the maximum supported by physical
> NICs (Intel E810). Idea is that it could be used for
> application like Virtio-forwarder, by programming the
> Virtio device RSS key into the physical NIC and let the
> physical NIC do the packets distribution.
>
> DPDK Vhost-user backend PoC implementing the new requests
> can be found here [0], it only implements the messages
> handling, it does not perform any RSS for now.
>
> [0]: https://gitlab.com/mcoquelin/dpdk-next-virtio/-/commits/vhost_user_rss_poc/
Not directly related to this series. I wonder if vhost-user consider to
support control virtqueue then all the RSS stuffs could be done at
vhost-user backend without introducing new commands.
Thanks
>
> Maxime Coquelin (5):
> ebpf: pass and check RSS key length to the loader
> virtio-net: prepare for variable RSS key and indir table lengths
> virtio-net: add RSS support for Vhost backends
> docs: introduce RSS support in Vhost-user specification
> vhost-user: add RSS support
>
> docs/interop/vhost-user.rst | 57 ++++++++++++
> ebpf/ebpf_rss-stub.c | 3 +-
> ebpf/ebpf_rss.c | 17 ++--
> ebpf/ebpf_rss.h | 3 +-
> hw/net/vhost_net-stub.c | 10 ++
> hw/net/vhost_net.c | 22 +++++
> hw/net/virtio-net.c | 87 +++++++++++++-----
> hw/virtio/vhost-user.c | 146 +++++++++++++++++++++++++++++-
> include/hw/virtio/vhost-backend.h | 7 ++
> include/hw/virtio/virtio-net.h | 16 +++-
> include/migration/vmstate.h | 10 ++
> include/net/vhost_net.h | 4 +
> 12 files changed, 344 insertions(+), 38 deletions(-)
>