[dpdk-dev] [PATCH v6 0/5] Virtio PMD RSS support & RSS fixes

Maxime Coquelin maxime.coquelin at redhat.com
Fri Oct 29 12:36:24 CEST 2021



On 10/27/21 16:22, Maxime Coquelin wrote:
> This series is mainly adding support for RSS to Virtio PMD
> driver. The two last patches are fixing an issue in testpmd
> that could cause out of bounds access, and fix
> an issue spotted in the mlx5 driver while looking for
> inspiration.
> 
> The first motivation for this series is to eventually
> support RSS down to the Vhost-user library, so that OVS can
> benefit from it. But it will be also useful with vDPA
> devices in the future.
> 
> Regarding the testing, I have tested it with qemu v5.2 from
> Fedora 34. Since libvirt does not support yet enabling RSS
> feature in the Qemu virtio-net device, and this feature is
> disabled by default, the tester can either rebuild the qemu
> package to enable it by default or use the qemu cmdline to
> do the same.
> 
> The tester can use testpmd in icmpecho mode in the guest
> and scapy on the host to inject random traffic on the tap
> interface, e.g.:
> sendp(Ether(src=RandMAC()) / IP(src=RandIP(), dst='192.168.123.9') / UDP(sport=RandShort(), dport=RandShort()), loop=True, iface='vnet7')
> 
> Then it can play with RSS config in testpmd to change the
> RETA, or hash type and see traffic being steered
> accordingly by checking the Rx xstats.
> 
> Changes in v6:
> ==============
> - Rebased on top of main, including convertion to new naming of some defines
> - Convert hash types definition to RTE_BIT32() (Andrew)
> - Add build check for RETA size being a pow2 (Andrew)
> - Restore RSS config if device update fails (Andrew)
> - Prevent RSS config if RXq number == 0 (Andrew)
> - Reconfigure the RETA if the number of RXq changed (Andrew)
> - Apply rss_conf even if the RSS key had previously been configured (Andrew)
> 
> Changes in v5:
> ==============
> - Remove unneeded index init (Chenbo)
> - Improve error print (Chenbo)
> - Add missed comment on RSS ctrl message
> 
> Changes in v4:
> ==============
> - s/GPTU/GTPU/ (Xiaoyun)
> 
> Changes in v3:
> ==============
> - Add applying user-specified RSS conf a device config time (Andrew)
> - Remove useless checks (Chenbo)
> - Clean control message payload dlen variable (Chenbo)
> - Add GTPU offload type (Xiaoyun)
> - Add missing types to str2flowtype() (Xiaoyun)
> 
> Changes in v2:
> ==============
> - Rework patch 2 to keep old behaviour, but fix possible out of bounds due to key length (Andrew/Nelio/Xiaoyun)
> - s/reta/RETA/ (Andrew)
> - Applied A-by on patch 3 (Slava)
> - Fix display of configured hash types
> - Add missing flow types definition to testpmd's port info command
> 
> Maxime Coquelin (5):
>    net/virtio: add initial RSS support
>    app/testpmd: fix RSS key length
>    app/testpmd: fix RSS type display
>    net/mlx5: fix RSS RETA update
>    app/testpmd: add missing flow types in port info
> 
>   app/test-pmd/cmdline.c                 |   4 +
>   app/test-pmd/config.c                  |  11 +-
>   doc/guides/nics/features/virtio.ini    |   3 +
>   doc/guides/nics/virtio.rst             |   3 +
>   doc/guides/rel_notes/release_21_11.rst |   6 +
>   drivers/net/mlx5/mlx5_rss.c            |   2 +-
>   drivers/net/virtio/virtio.h            |  32 +-
>   drivers/net/virtio/virtio_ethdev.c     | 436 ++++++++++++++++++++++++-
>   drivers/net/virtio/virtio_ethdev.h     |   3 +-
>   drivers/net/virtio/virtqueue.h         |  25 ++
>   10 files changed, 513 insertions(+), 12 deletions(-)
> 


Applied to dpdk-next-virtio/main.

Thanks,
Maxime



More information about the dev mailing list