patch 'net/ice/base: fix adding special words' has been queued to stable release 22.11.11

luca.boccassi at gmail.com luca.boccassi at gmail.com
Mon Oct 27 17:19:03 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/7d2b27c099024bb4ba0299149fe47fbe6cfa8fa1

Thanks.

Luca Boccassi

---
>From 7d2b27c099024bb4ba0299149fe47fbe6cfa8fa1 Mon Sep 17 00:00:00 2001
From: Shaiq Wani <shaiq.wani at intel.com>
Date: Tue, 2 Sep 2025 18:26:52 +0100
Subject: [PATCH] net/ice/base: fix adding special words

[ upstream commit e563992fba809bcae90b4734f555e354024ec564 ]

The function ice_add_special_words() is meant to add special words (such
as traffic direction) to the rule. The function that
interprets/translates these additional words is ice_get_sw_fv_list().

However, the ice_get_sw_fv_list() is called *before*
ice_add_special_words(), so the "special" words weren't added at that
point yet, hence they're not translated. This results in the driver
ignoring whatever special words that were added. The fix is to call
ice_get_sw_fv_list() *after* ice_add_special_words().

Fixes: ed3066a3b1b0 ("net/ice/base: refactor DDP code")

Signed-off-by: Jeff Shaw <jeffrey.b.shaw at intel.com>
Signed-off-by: Shaiq Wani <shaiq.wani at intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
---
 drivers/net/ice/base/ice_switch.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ice/base/ice_switch.c b/drivers/net/ice/base/ice_switch.c
index 89270a477d..0ab3abe276 100644
--- a/drivers/net/ice/base/ice_switch.c
+++ b/drivers/net/ice/base/ice_switch.c
@@ -7868,10 +7868,6 @@ ice_add_adv_recipe(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
 	 */
 	ice_get_compat_fv_bitmap(hw, rinfo, fv_bitmap);
 
-	status = ice_get_fv(hw, lkup_exts, fv_bitmap, &rm->fv_list);
-	if (status)
-		goto err_unroll;
-
 	/* Create any special protocol/offset pairs, such as looking at tunnel
 	 * bits by extracting metadata
 	 */
@@ -7879,6 +7875,10 @@ ice_add_adv_recipe(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
 	if (status)
 		goto err_free_lkup_exts;
 
+	status = ice_get_fv(hw, lkup_exts, fv_bitmap, &rm->fv_list);
+	if (status)
+		goto err_unroll;
+
 	/* Group match words into recipes using preferred recipe grouping
 	 * criteria.
 	 */
-- 
2.47.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-10-27 15:54:35.797525145 +0000
+++ 0025-net-ice-base-fix-adding-special-words.patch	2025-10-27 15:54:34.795949549 +0000
@@ -1 +1 @@
-From e563992fba809bcae90b4734f555e354024ec564 Mon Sep 17 00:00:00 2001
+From 7d2b27c099024bb4ba0299149fe47fbe6cfa8fa1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e563992fba809bcae90b4734f555e354024ec564 ]
+
@@ -17 +18,0 @@
-Cc: stable at dpdk.org
@@ -24 +25 @@
- drivers/net/intel/ice/base/ice_switch.c | 8 ++++----
+ drivers/net/ice/base/ice_switch.c | 8 ++++----
@@ -27,5 +28,5 @@
-diff --git a/drivers/net/intel/ice/base/ice_switch.c b/drivers/net/intel/ice/base/ice_switch.c
-index 54cc2e1c07..f16bec044c 100644
---- a/drivers/net/intel/ice/base/ice_switch.c
-+++ b/drivers/net/intel/ice/base/ice_switch.c
-@@ -8287,10 +8287,6 @@ ice_add_adv_recipe(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
+diff --git a/drivers/net/ice/base/ice_switch.c b/drivers/net/ice/base/ice_switch.c
+index 89270a477d..0ab3abe276 100644
+--- a/drivers/net/ice/base/ice_switch.c
++++ b/drivers/net/ice/base/ice_switch.c
+@@ -7868,10 +7868,6 @@ ice_add_adv_recipe(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
@@ -35 +36 @@
--	status = ice_get_sw_fv_list(hw, lkup_exts, fv_bitmap, &rm->fv_list);
+-	status = ice_get_fv(hw, lkup_exts, fv_bitmap, &rm->fv_list);
@@ -42 +43 @@
-@@ -8298,6 +8294,10 @@ ice_add_adv_recipe(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
+@@ -7879,6 +7875,10 @@ ice_add_adv_recipe(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
@@ -46 +47 @@
-+	status = ice_get_sw_fv_list(hw, lkup_exts, fv_bitmap, &rm->fv_list);
++	status = ice_get_fv(hw, lkup_exts, fv_bitmap, &rm->fv_list);


More information about the stable mailing list