From: Stephen Hemminger <stephen@networkplumber.org>
To: Maxime Leroy <maxime@leroys.fr>
Cc: Hemant Agrawal <hemant.agrawal@nxp.com>,
Sachin Saxena <sachin.saxena@nxp.com>,
dev@dpdk.org
Subject: Re: [PATCH v3] net/dpaa2: hash inner IP for tunnelled traffic
Date: Tue, 25 Aug 2026 07:14:55 -0700 [thread overview]
Message-ID: <20260825071455.4bc37db0@phoenix.local> (raw)
In-Reply-To: <20260825074255.367302-1-maxime@leroys.fr>
On Tue, 25 Aug 2026 09:42:55 +0200
Maxime Leroy <maxime@leroys.fr> wrote:
> The RSS key only extracted the outer IP header. Tunnelled traffic whose
> outer headers are fixed then carries no entropy for the hash, so every
> flow lands on a single Rx queue.
>
> Extract both the outer IP (header index 0) and the innermost IP instance
> (HDR_INDEX_LAST). Plain frames keep being hashed on their only IP header;
> the inner extract resolves to nothing and adds no entropy. Tunnelled
> frames are also hashed on their inner IP and spread across the Rx queues.
>
> That a lone IP header does not resolve HDR_INDEX_LAST is the regression
> reverted by commit 2b375df07e48 ("net/dpaa2: revert inner RSS level
> support"): extracted only at HDR_INDEX_LAST, every plain frame hashed to
> the same value and landed on one Rx queue.
>
> The worst case, requesting every type the PMD advertises, is 16 extracts
> out of the DPKG_MAX_NUM_OF_EXTRACTS 20. On LX2160A
> dpni_set_rx_hash_dist() accepts the key, and plain IPv4, plain IPv6, VLAN
> tagged and tunnelled IPv6 traffic all spread across the Rx queues.
>
> This is the PMD default hash: dpaa2 does not expose the ethdev RSS level
> selector, so it applies to every RSS request. The hardware cannot hash
> the inner IP alone, as HDR_INDEX_LAST only resolves when several IP
> headers are stacked and a plain frame would hash to a constant. Folding
> the outer IP into the key is therefore unavoidable, and two tunnelled
> flows that share an inner IP but differ in their outer IP may hash to
> different queues. This is documented in the dpaa2 guide.
>
> Signed-off-by: Maxime Leroy <maxime@leroys.fr>
> ---
Applied to next-net
next prev parent reply other threads:[~2026-08-25 14:15 UTC|newest]
Thread overview: 15+ 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 ` [PATCH v1 0/2] net/dpaa2: fix RSS for plain and tunnelled traffic Maxime Leroy
2026-07-23 9:35 ` [PATCH v2] net/dpaa2: hash inner IP for " Maxime Leroy
2026-07-26 16:37 ` Stephen Hemminger
2026-07-27 8:04 ` Maxime Leroy
2026-08-25 7:42 ` [PATCH v3] " Maxime Leroy
2026-08-25 14:14 ` Stephen Hemminger [this message]
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=20260825071455.4bc37db0@phoenix.local \
--to=stephen@networkplumber.org \
--cc=dev@dpdk.org \
--cc=hemant.agrawal@nxp.com \
--cc=maxime@leroys.fr \
--cc=sachin.saxena@nxp.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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.