patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Maxime Coquelin <maxime.coquelin@redhat.com>
To: dev@dpdk.org, chenbo.xia@intel.com, amorenoz@redhat.com,
	david.marchand@redhat.com, andrew.rybchenko@oktetlabs.ru,
	ferruh.yigit@intel.com, michaelba@nvidia.com,
	viacheslavo@nvidia.com, xiaoyun.li@intel.com
Cc: stable@dpdk.org, nelio.laranjeiro@6wind.com, yvugenfi@redhat.com,
	ybendito@redhat.com, Maxime Coquelin <maxime.coquelin@redhat.com>
Subject: [dpdk-stable] [PATCH v3 0/5] Virtio PMD RSS support & RSS fixes
Date: Wed, 29 Sep 2021 11:16:56 +0200
Message-ID: <20210929091701.158047-1-maxime.coquelin@redhat.com> (raw)

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 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            |  31 +-
 drivers/net/virtio/virtio_ethdev.c     | 394 ++++++++++++++++++++++++-
 drivers/net/virtio/virtio_ethdev.h     |   3 +-
 drivers/net/virtio/virtqueue.h         |  21 ++
 10 files changed, 466 insertions(+), 12 deletions(-)

-- 
2.31.1


             reply	other threads:[~2021-09-29  9:17 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-29  9:16 Maxime Coquelin [this message]
2021-09-29  9:16 ` [dpdk-stable] [PATCH v3 1/5] net/virtio: add initial RSS support Maxime Coquelin
2021-09-29  9:16 ` [dpdk-stable] [PATCH v3 2/5] app/testpmd: fix RSS key length Maxime Coquelin
2021-09-29  9:16 ` [dpdk-stable] [PATCH v3 3/5] app/testpmd: fix RSS type display Maxime Coquelin
2021-09-29  9:17 ` [dpdk-stable] [PATCH v3 4/5] net/mlx5: fix RSS RETA update Maxime Coquelin
2021-09-29  9:17 ` [dpdk-stable] [PATCH v3 5/5] app/testpmd: add missing flow types in port info Maxime Coquelin
2021-09-30  1:05   ` Li, Xiaoyun
2021-10-01  7:51     ` Maxime Coquelin
2021-10-08  1:53       ` Li, Xiaoyun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210929091701.158047-1-maxime.coquelin@redhat.com \
    --to=maxime.coquelin@redhat.com \
    --cc=amorenoz@redhat.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=chenbo.xia@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=michaelba@nvidia.com \
    --cc=nelio.laranjeiro@6wind.com \
    --cc=stable@dpdk.org \
    --cc=viacheslavo@nvidia.com \
    --cc=xiaoyun.li@intel.com \
    --cc=ybendito@redhat.com \
    --cc=yvugenfi@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

patches for DPDK stable branches

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.dpdk.org/stable/0 stable/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 stable stable/ http://inbox.dpdk.org/stable \
		stable@dpdk.org
	public-inbox-index stable

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.stable


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git