From: Maxime Leroy <maxime@leroys.fr>
To: dev@dpdk.org
Cc: thomas@monjalon.net, david.marchand@redhat.com,
hemant.agrawal@oss.nxp.com, Maxime Leroy <maxime@leroys.fr>
Subject: [PATCH v1 0/2] net/dpaa2: fix RSS for plain and tunnelled traffic
Date: Mon, 20 Jul 2026 15:34:34 +0200 [thread overview]
Message-ID: <20260720133436.869334-1-maxime@leroys.fr> (raw)
In-Reply-To: <20260630123857.392884-1-maxime@leroys.fr>
The RTE_ETH_RSS_LEVEL_INNERMOST support merged in 618a06c53d47 maps the
inner level to hdr_index = HDR_INDEX_LAST in the IP key extracts. The
hardware only resolves that index when several IP headers are stacked, so
a non-tunnelled frame, which carries a single IP header, resolves to
nothing: its RSS hash is constant and every such frame lands on a single
Rx queue. This breaks RSS for plain traffic, which the ethdev API
requires INNERMOST to hash, since a plain frame's innermost header is its
only IP header.
dpaa2 cannot express strict inner-only hashing and keep plain traffic
spread at the same time: the only index that resolves for a single header
is the outer one (index 0). This series therefore reverts the INNERMOST
support and, rather than exposing the RSS level selector, always extracts
both the outer IP (index 0) and the innermost IP (HDR_INDEX_LAST) as the
PMD default. Plain frames keep being hashed on their only IP header;
tunnelled frames are additionally spread on their inner IP.
The tradeoff, documented in the dpaa2 guide, is that two tunnelled flows
sharing an inner IP but differing in their outer IP may hash to different
queues. A future generic RSS level (for example OUTER_INNER) could expose
the distinction explicitly if other PMDs are interested.
Note on timing: the reverted INNERMOST support is present only in the
26.07 release candidates (currently rc4) and has never appeared in a DPDK
release. This series should be applied before 26.07 is released, so the
broken behaviour never ships and no cross-release regression is left
behind.
Maxime Leroy (2):
net/dpaa2: revert inner RSS level support
net/dpaa2: hash inner IP for tunnelled traffic
doc/guides/nics/dpaa2.rst | 3 +
doc/guides/rel_notes/release_26_07.rst | 3 +-
drivers/net/dpaa2/base/dpaa2_hw_dpni.c | 82 ++++++++++----------------
drivers/net/dpaa2/dpaa2_ethdev.c | 3 +-
4 files changed, 36 insertions(+), 55 deletions(-)
--
2.43.0
next prev parent reply other threads:[~2026-07-20 13:34 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-30 12:38 [RFC PATCH] net/dpaa2: fix RSS at inner level for non-tunnelled traffic Maxime Leroy
2026-07-15 17:00 ` Maxime Leroy
2026-07-16 7:47 ` Hemant Agrawal
2026-07-16 8:00 ` Maxime Leroy
2026-07-20 13:34 ` Maxime Leroy [this message]
2026-07-23 9:35 ` [PATCH v2] net/dpaa2: hash inner IP for tunnelled traffic Maxime Leroy
2026-07-20 13:34 ` [PATCH v1 1/2] net/dpaa2: revert inner RSS level support Maxime Leroy
2026-07-21 9:56 ` Thomas Monjalon
2026-07-21 12:55 ` Hemant Agrawal
2026-07-21 21:25 ` Thomas Monjalon
2026-07-20 13:34 ` [PATCH v1 2/2] net/dpaa2: hash inner IP for tunnelled traffic Maxime Leroy
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=20260720133436.869334-1-maxime@leroys.fr \
--to=maxime@leroys.fr \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=hemant.agrawal@oss.nxp.com \
--cc=thomas@monjalon.net \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox