patch 'net/ixgbe: reset flow state on clear paths' has been queued to stable release 25.11.3
Kevin Traynor
ktraynor at redhat.com
Thu Jul 23 19:15:10 CEST 2026
Hi,
FYI, your patch has been queued to stable release 25.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 07/27/26. 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/kevintraynor/dpdk-stable
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/d16b726ab3c90f7ac67265c24cc68585d5b7b3c1
Thanks.
Kevin
---
>From d16b726ab3c90f7ac67265c24cc68585d5b7b3c1 Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov at intel.com>
Date: Thu, 30 Apr 2026 12:14:35 +0100
Subject: [PATCH] net/ixgbe: reset flow state on clear paths
[ upstream commit 301abd26b118c215bef0c31eb37734fe3f5e4b7f ]
When all FDIR rules are removed (either through destroy or flush), the
driver does not fully reset its state. This can result in picking up stale
state in some circumstances.
Fix by clearing internal state when FDIR flow list is empty.
Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
---
drivers/net/intel/ixgbe/ixgbe_fdir.c | 7 +++++++
drivers/net/intel/ixgbe/ixgbe_flow.c | 7 ++++++-
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/drivers/net/intel/ixgbe/ixgbe_fdir.c b/drivers/net/intel/ixgbe/ixgbe_fdir.c
index 38f589623e..f51582a4bf 100644
--- a/drivers/net/intel/ixgbe/ixgbe_fdir.c
+++ b/drivers/net/intel/ixgbe/ixgbe_fdir.c
@@ -1359,4 +1359,5 @@ int
ixgbe_clear_all_fdir_filter(struct rte_eth_dev *dev)
{
+ struct rte_eth_fdir_conf *fdir_conf = IXGBE_DEV_FDIR_CONF(dev);
struct ixgbe_hw_fdir_info *fdir_info =
IXGBE_DEV_PRIVATE_TO_FDIR_INFO(dev->data->dev_private);
@@ -1377,4 +1378,10 @@ ixgbe_clear_all_fdir_filter(struct rte_eth_dev *dev)
}
+ /* reset internal FDIR state */
+ fdir_info->mask = (struct ixgbe_hw_fdir_mask){0};
+ fdir_info->flex_bytes_offset = 0;
+ fdir_info->mask_added = FALSE;
+ fdir_conf->mode = RTE_FDIR_MODE_NONE;
+
if (filter_flag != NULL)
ret = ixgbe_fdir_flush(dev);
diff --git a/drivers/net/intel/ixgbe/ixgbe_flow.c b/drivers/net/intel/ixgbe/ixgbe_flow.c
index cf6a8de6bf..4ec4ab0f3f 100644
--- a/drivers/net/intel/ixgbe/ixgbe_flow.c
+++ b/drivers/net/intel/ixgbe/ixgbe_flow.c
@@ -3422,9 +3422,14 @@ ixgbe_flow_destroy(struct rte_eth_dev *dev,
ret = ixgbe_fdir_filter_program(dev, &fdir_rule, TRUE, FALSE);
if (!ret) {
+ struct rte_eth_fdir_conf *fdir_conf = IXGBE_DEV_FDIR_CONF(dev);
TAILQ_REMOVE(&flow_lists->fdir_list,
&fdir_rule_ptr->base, entries);
rte_free(fdir_rule_ptr);
- if (TAILQ_EMPTY(&flow_lists->fdir_list))
+ if (TAILQ_EMPTY(&flow_lists->fdir_list)) {
fdir_info->mask_added = false;
+ fdir_info->mask = (struct ixgbe_hw_fdir_mask){0};
+ fdir_info->flex_bytes_offset = 0;
+ fdir_conf->mode = RTE_FDIR_MODE_NONE;
+ }
}
break;
--
2.55.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2026-07-23 17:58:00.015518391 +0100
+++ 0047-net-ixgbe-reset-flow-state-on-clear-paths.patch 2026-07-23 17:57:58.658918595 +0100
@@ -1 +1 @@
-From 301abd26b118c215bef0c31eb37734fe3f5e4b7f Mon Sep 17 00:00:00 2001
+From d16b726ab3c90f7ac67265c24cc68585d5b7b3c1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 301abd26b118c215bef0c31eb37734fe3f5e4b7f ]
+
@@ -13 +14,0 @@
-Cc: stable at dpdk.org
@@ -44 +45 @@
-index 6e87d373ad..b73037d4c3 100644
+index cf6a8de6bf..4ec4ab0f3f 100644
@@ -47 +48 @@
-@@ -3474,9 +3474,14 @@ ixgbe_flow_destroy(struct rte_eth_dev *dev,
+@@ -3422,9 +3422,14 @@ ixgbe_flow_destroy(struct rte_eth_dev *dev,
More information about the stable
mailing list