patch 'net/nfp: fix teardown of flows sharing a mask ID' has been queued to stable release 22.11.2
Xueming Li
xuemingl at nvidia.com
Mon Feb 27 07:58:58 CET 2023
Hi,
FYI, your patch has been queued to stable release 22.11.2
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/01/23. 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://git.dpdk.org/dpdk-stable/log/?h=22.11-staging
This queued commit can be viewed at:
https://git.dpdk.org/dpdk-stable/commit/?h=22.11-staging&id=1df8c209233c5689b766f6389b78c0104fd480b4
Thanks.
Xueming Li <xuemingl at nvidia.com>
---
>From 1df8c209233c5689b766f6389b78c0104fd480b4 Mon Sep 17 00:00:00 2001
From: Chaoyong He <chaoyong.he at corigine.com>
Date: Tue, 24 Jan 2023 15:16:31 +0800
Subject: [PATCH] net/nfp: fix teardown of flows sharing a mask ID
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: Xueming Li <xuemingl at nvidia.com>
[ upstream commit ea2883336d11516b6c7e81f208a65be4b133997f ]
The same data in mask section of different flow add/delete control
messages will share the same mask ID of mask table. The first flow
add control message and the last flow delete control message for a
specific mask ID should have the NFP_FL_META_FLAG_MANAGE_MASK flag set,
this will indicate to the flower firmware to allocate/deallocate the
mask table entry.
The original logic wrongly process the flow delete control message,
and caused the first flow delete control message to have the
NFP_FL_META_FLAG_MANAGE_MASK flagset, thus the flower firmware
deallocate the mask table entry on the first delete. This in turn
prevented all the other flows sharing the same mask ID from offloading.
Fixes: ac09376096d8 ("net/nfp: add structures and functions for flow offload")
Signed-off-by: Chaoyong He <chaoyong.he at corigine.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund at corigine.com>
---
drivers/net/nfp/nfp_flow.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/nfp/nfp_flow.c b/drivers/net/nfp/nfp_flow.c
index d1d209ce13..8784e01628 100644
--- a/drivers/net/nfp/nfp_flow.c
+++ b/drivers/net/nfp/nfp_flow.c
@@ -285,7 +285,7 @@ nfp_check_mask_remove(struct nfp_flow_priv *priv,
rte_free(mask_entry);
if (meta_flags)
- *meta_flags &= ~NFP_FL_META_FLAG_MANAGE_MASK;
+ *meta_flags |= NFP_FL_META_FLAG_MANAGE_MASK;
}
return true;
@@ -3592,6 +3592,7 @@ nfp_flow_teardown(struct nfp_flow_priv *priv,
nfp_flow_meta = nfp_flow->payload.meta;
mask_data = nfp_flow->payload.mask_data;
mask_len = nfp_flow_meta->mask_len << NFP_FL_LW_SIZ;
+ nfp_flow_meta->flags &= ~NFP_FL_META_FLAG_MANAGE_MASK;
if (!nfp_check_mask_remove(priv, mask_data, mask_len,
&nfp_flow_meta->flags)) {
PMD_DRV_LOG(ERR, "nfp mask del check failed.");
--
2.25.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2023-02-27 14:08:41.928000200 +0800
+++ 0031-net-nfp-fix-teardown-of-flows-sharing-a-mask-ID.patch 2023-02-27 14:08:40.739237000 +0800
@@ -1 +1 @@
-From ea2883336d11516b6c7e81f208a65be4b133997f Mon Sep 17 00:00:00 2001
+From 1df8c209233c5689b766f6389b78c0104fd480b4 Mon Sep 17 00:00:00 2001
@@ -7,0 +8,3 @@
+Cc: Xueming Li <xuemingl at nvidia.com>
+
+[ upstream commit ea2883336d11516b6c7e81f208a65be4b133997f ]
@@ -23 +25,0 @@
-Cc: stable at dpdk.org
@@ -32 +34 @@
-index d6c8c89921..ff2e21c817 100644
+index d1d209ce13..8784e01628 100644
@@ -44 +46 @@
-@@ -3653,6 +3653,7 @@ nfp_flow_teardown(struct nfp_flow_priv *priv,
+@@ -3592,6 +3592,7 @@ nfp_flow_teardown(struct nfp_flow_priv *priv,
More information about the stable
mailing list