Message ID | 20220408122813.1357045-1-maxime.coquelin@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | Vhost-user: add Virtio RSS support | expand |
在 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(-) >