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

