patch 'net/i40e: fix symmetric Toeplitz hashing for SCTP' has been queued to stable release 22.11.11
luca.boccassi at gmail.com
luca.boccassi at gmail.com
Mon Oct 27 17:19:27 CET 2025
Hi,
FYI, your patch has been queued to stable release 22.11.11
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 10/29/25. So please
shout if anyone has objections.
Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.
Queued patches are on a temporary branch at:
https://github.com/bluca/dpdk-stable
This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/453ba3c522af037bd77cd42e1b309af45bb01686
Thanks.
Luca Boccassi
---
>From 453ba3c522af037bd77cd42e1b309af45bb01686 Mon Sep 17 00:00:00 2001
From: Anurag Mandal <anurag.mandal at intel.com>
Date: Wed, 15 Oct 2025 23:41:50 +0530
Subject: [PATCH] net/i40e: fix symmetric Toeplitz hashing for SCTP
[ upstream commit 09937a3646f83ffe9d0d27896066c3f3f6e4ee0c ]
When symmetric toeplitz is configured for SCTP, packets belonging
to the same SCTP session are getting distributed to multiple queues
due to improper hash computation.
Removed SCTP Verification Tag from hash computation of symmetric toeplitz
as it changes for same SCTP session.
Tested the following with the fix & enabling symmetric toeplitz for
SCTP:
1. Packets belonging to the same SCTP session getting into the same
queue.
2. Packets belonging to the different SCTP sessions getting
distributed to multiple queues.
Fixes: ef4c16fd9148 ("net/i40e: refactor RSS flow")
Signed-off-by: Anurag Mandal <anurag.mandal at intel.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
---
.mailmap | 1 +
drivers/net/i40e/i40e_hash.c | 16 ++++++++++++++--
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/.mailmap b/.mailmap
index f53fdf0d85..6a7af0e981 100644
--- a/.mailmap
+++ b/.mailmap
@@ -119,6 +119,7 @@ Antara Ganesh Kolar <antara.ganesh.kolar at intel.com>
Anthony Fee <anthonyx.fee at intel.com>
Antonio Fischetti <antonio.fischetti at intel.com>
Anupam Kapoor <anupam.kapoor at gmail.com>
+Anurag Mandal <anurag.mandal at intel.com>
Apeksha Gupta <apeksha.gupta at nxp.com>
Archana Muniganti <marchana at marvell.com> <muniganti.archana at caviumnetworks.com>
Archit Pandey <architpandeynitk at gmail.com>
diff --git a/drivers/net/i40e/i40e_hash.c b/drivers/net/i40e/i40e_hash.c
index 0c84818977..c71c792f1c 100644
--- a/drivers/net/i40e/i40e_hash.c
+++ b/drivers/net/i40e/i40e_hash.c
@@ -561,7 +561,7 @@ i40e_hash_get_pattern_pctypes(const struct rte_eth_dev *dev,
}
static uint64_t
-i40e_hash_get_inset(uint64_t rss_types)
+i40e_hash_get_inset(uint64_t rss_types, bool symmetric_enable)
{
uint64_t mask, inset = 0;
int i;
@@ -608,6 +608,17 @@ i40e_hash_get_inset(uint64_t rss_types)
I40E_INSET_IPV4_SRC | I40E_INSET_IPV6_SRC);
}
+ /* SCTP Verification Tag is not required in hash computation for SYMMETRIC_TOEPLITZ */
+ if (symmetric_enable) {
+ mask = rss_types & RTE_ETH_RSS_NONFRAG_IPV4_SCTP;
+ if (mask == RTE_ETH_RSS_NONFRAG_IPV4_SCTP)
+ inset &= ~I40E_INSET_SCTP_VT;
+
+ mask = rss_types & RTE_ETH_RSS_NONFRAG_IPV6_SCTP;
+ if (mask == RTE_ETH_RSS_NONFRAG_IPV6_SCTP)
+ inset &= ~I40E_INSET_SCTP_VT;
+ }
+
return inset;
}
@@ -1113,6 +1124,7 @@ i40e_hash_parse_pattern_act(const struct rte_eth_dev *dev,
RTE_FLOW_ERROR_TYPE_ACTION_CONF,
NULL,
"RSS Queues not supported when pattern specified");
+ rss_conf->symmetric_enable = false; /* by default, symmetric is disabled */
switch (rss_act->func) {
case RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ:
@@ -1140,7 +1152,7 @@ i40e_hash_parse_pattern_act(const struct rte_eth_dev *dev,
rss_conf->conf.func = rss_act->func;
rss_conf->conf.types = rss_act->types;
- rss_conf->inset = i40e_hash_get_inset(rss_act->types);
+ rss_conf->inset = i40e_hash_get_inset(rss_act->types, rss_conf->symmetric_enable);
return i40e_hash_get_pattern_pctypes(dev, pattern, rss_act,
rss_conf, error);
--
2.47.3
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2025-10-27 15:54:36.614275485 +0000
+++ 0049-net-i40e-fix-symmetric-Toeplitz-hashing-for-SCTP.patch 2025-10-27 15:54:34.819950152 +0000
@@ -1 +1 @@
-From 09937a3646f83ffe9d0d27896066c3f3f6e4ee0c Mon Sep 17 00:00:00 2001
+From 453ba3c522af037bd77cd42e1b309af45bb01686 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 09937a3646f83ffe9d0d27896066c3f3f6e4ee0c ]
+
@@ -21 +22,0 @@
-Cc: stable at dpdk.org
@@ -26,2 +27,2 @@
- .mailmap | 1 +
- drivers/net/intel/i40e/i40e_hash.c | 16 ++++++++++++++--
+ .mailmap | 1 +
+ drivers/net/i40e/i40e_hash.c | 16 ++++++++++++++--
@@ -31 +32 @@
-index c14288e1c7..adce7ee286 100644
+index f53fdf0d85..6a7af0e981 100644
@@ -34 +35,2 @@
-@@ -136,6 +136,7 @@ Anthony Harivel <aharivel at redhat.com>
+@@ -119,6 +119,7 @@ Antara Ganesh Kolar <antara.ganesh.kolar at intel.com>
+ Anthony Fee <anthonyx.fee at intel.com>
@@ -36 +37,0 @@
- Anup Prabhu <aprabhu at marvell.com>
@@ -42,4 +43,4 @@
-diff --git a/drivers/net/intel/i40e/i40e_hash.c b/drivers/net/intel/i40e/i40e_hash.c
-index 02e1457d80..3149682197 100644
---- a/drivers/net/intel/i40e/i40e_hash.c
-+++ b/drivers/net/intel/i40e/i40e_hash.c
+diff --git a/drivers/net/i40e/i40e_hash.c b/drivers/net/i40e/i40e_hash.c
+index 0c84818977..c71c792f1c 100644
+--- a/drivers/net/i40e/i40e_hash.c
++++ b/drivers/net/i40e/i40e_hash.c
More information about the stable
mailing list