patch 'net/mlx5: avoid wildcard drop flow in priority discovery' has been queued to stable release 24.11.9
luca.boccassi at gmail.com
luca.boccassi at gmail.com
Tue Oct 27 12:49:53 CET 2026
Hi,
FYI, your patch has been queued to stable release 24.11.9
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/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/bluca/dpdk-stable
This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/642b4a648f10cd06bae9b1f4d1de079d4ad30801
Thanks.
Luca Boccassi
---
>From 642b4a648f10cd06bae9b1f4d1de079d4ad30801 Mon Sep 17 00:00:00 2001
From: Wei Yan <yanwei.wy at bytedance.com>
Date: Tue, 14 Jul 2026 14:07:51 +0800
Subject: [PATCH] net/mlx5: avoid wildcard drop flow in priority discovery
[ upstream commit a4ac0ab6426f59384b49e53e85c8c6cab0a0bbbd ]
Priority discovery installs temporary drop flows to probe supported flow
priorities. These flows match a wildcard Ethernet pattern, so they can
also match real traffic while discovery is running. On shared devices this
may temporarily drop kernel traffic and cause TCP connection timeouts.
Constrain the probe flows to match both source and destination MAC
addresses as ff:ff:ff:ff:ff:ff. This keeps the rule valid for discovery
while avoiding matches on normal Ethernet traffic.
Fixes: 3eca5f8a610e ("net/mlx5: move flow priority discovery to Verbs file")
Fixes: c5042f93a425 ("net/mlx5: discover max flow priority using DevX")
Signed-off-by: Wei Yan <yanwei.wy at bytedance.com>
Signed-off-by: Gavin Hu <gahu at nvidia.com>
Acked-by: Suanming Mou <suanmingm at nvidia.com>
---
.mailmap | 4 +++-
drivers/net/mlx5/mlx5_flow_dv.c | 18 ++++++++++++++++++
drivers/net/mlx5/mlx5_flow_verbs.c | 8 ++++++++
3 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/.mailmap b/.mailmap
index e56ac93dad0..adfe41f26e9 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1731,8 +1731,10 @@ Wei Ling <weix.ling at intel.com>
Wei Shen <wei1.shen at intel.com>
Wei Wang <lnykww at gmail.com>
Wei Xie <weix.xie at intel.com>
-Weiyuan Li <weiyuanx.li at intel.com>
+Wei Yan <yanwei.wy at bytedance.com>
Wei Zhao <wei.zhao1 at intel.com>
+Weijun Pan <wpan3636 at gmail.com> <wpan36 at wisc.edu>
+Weiyuan Li <weiyuanx.li at intel.com>
Wen Chiu <wchiu at brocade.com>
Wen-Chi Yang <wolkayang at gmail.com>
Wenfeng Liu <liuwf at arraynetworks.com.cn>
diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index 83850096b34..23a497ca745 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -19710,6 +19710,22 @@ mlx5_flow_discover_dr_action_support(struct rte_eth_dev *dev)
void *matcher = NULL;
void *flow = NULL;
int ret = -1;
+ struct rte_flow_item_eth eth;
+ struct rte_flow_item item = {
+ .type = RTE_FLOW_ITEM_TYPE_ETH,
+ .spec = ð,
+ .mask = ð,
+ };
+
+ memset(ð, 0, sizeof(eth));
+ memset(ð.hdr.dst_addr, 0xff, sizeof(eth.hdr.dst_addr));
+ memset(ð.hdr.src_addr, 0xff, sizeof(eth.hdr.src_addr));
+ flow_dv_translate_item_eth(mask.buf, &item,
+ /* inner */ false, /* group */ 0,
+ MLX5_SET_MATCHER_SW_M);
+ flow_dv_translate_item_eth(value.buf, &item,
+ /* inner */ false, /* group */ 0,
+ MLX5_SET_MATCHER_SW_V);
tbl = flow_dv_tbl_resource_get(dev, 0, 0, 0, false, NULL,
0, 0, 0, NULL);
@@ -20599,6 +20615,8 @@ flow_dv_discover_priorities(struct rte_eth_dev *dev,
flow.dv.actions[0] = action;
flow.dv.actions_n = 1;
memset(ð, 0, sizeof(eth));
+ memset(ð.hdr.dst_addr, 0xff, sizeof(eth.hdr.dst_addr));
+ memset(ð.hdr.src_addr, 0xff, sizeof(eth.hdr.src_addr));
flow_dv_translate_item_eth(matcher.mask.buf, &item,
/* inner */ false, /* group */ 0,
MLX5_SET_MATCHER_SW_M);
diff --git a/drivers/net/mlx5/mlx5_flow_verbs.c b/drivers/net/mlx5/mlx5_flow_verbs.c
index 67d199ce15e..03f64298e98 100644
--- a/drivers/net/mlx5/mlx5_flow_verbs.c
+++ b/drivers/net/mlx5/mlx5_flow_verbs.c
@@ -65,6 +65,14 @@ flow_verbs_discover_priorities(struct rte_eth_dev *dev,
.eth = {
.type = IBV_FLOW_SPEC_ETH,
.size = sizeof(struct ibv_flow_spec_eth),
+ .val = {
+ .dst_mac = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+ .src_mac = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+ },
+ .mask = {
+ .dst_mac = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+ .src_mac = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+ },
},
.drop = {
.size = sizeof(struct ibv_flow_spec_action_drop),
--
2.47.3
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2026-10-27 11:43:57.552438990 +0000
+++ 0099-net-mlx5-avoid-wildcard-drop-flow-in-priority-discov.patch 2026-10-27 11:43:53.630063039 +0000
@@ -1 +1 @@
-From a4ac0ab6426f59384b49e53e85c8c6cab0a0bbbd Mon Sep 17 00:00:00 2001
+From 642b4a648f10cd06bae9b1f4d1de079d4ad30801 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a4ac0ab6426f59384b49e53e85c8c6cab0a0bbbd ]
+
@@ -17 +18,0 @@
-Cc: stable at dpdk.org
@@ -23 +24 @@
- .mailmap | 1 +
+ .mailmap | 4 +++-
@@ -26 +27 @@
- 3 files changed, 27 insertions(+)
+ 3 files changed, 29 insertions(+), 1 deletion(-)
@@ -29 +30 @@
-index c5f5c7d2e1..00d1551a16 100644
+index e56ac93dad0..adfe41f26e9 100644
@@ -32 +33 @@
-@@ -1820,6 +1820,7 @@ Wei Ling <weix.ling at intel.com>
+@@ -1731,8 +1731,10 @@ Wei Ling <weix.ling at intel.com>
@@ -35,0 +37 @@
+-Weiyuan Li <weiyuanx.li at intel.com>
@@ -38,2 +40,5 @@
- Weichun Chen <weichunx.chen at intel.com>
- Weifeng Li <liweifeng96 at 126.com>
++Weijun Pan <wpan3636 at gmail.com> <wpan36 at wisc.edu>
++Weiyuan Li <weiyuanx.li at intel.com>
+ Wen Chiu <wchiu at brocade.com>
+ Wen-Chi Yang <wolkayang at gmail.com>
+ Wenfeng Liu <liuwf at arraynetworks.com.cn>
@@ -41 +46 @@
-index 58ebcf87eb..9cb7c59b83 100644
+index 83850096b34..23a497ca745 100644
@@ -44 +49 @@
-@@ -19794,6 +19794,22 @@ mlx5_flow_discover_dr_action_support(struct rte_eth_dev *dev)
+@@ -19710,6 +19710,22 @@ mlx5_flow_discover_dr_action_support(struct rte_eth_dev *dev)
@@ -65,3 +70,3 @@
- tbl = mlx5_flow_dv_tbl_resource_get(dev, 0, 0, 0, false, NULL,
- 0, 0, 0, NULL);
-@@ -20683,6 +20699,8 @@ flow_dv_discover_priorities(struct rte_eth_dev *dev,
+ tbl = flow_dv_tbl_resource_get(dev, 0, 0, 0, false, NULL,
+ 0, 0, 0, NULL);
+@@ -20599,6 +20615,8 @@ flow_dv_discover_priorities(struct rte_eth_dev *dev,
@@ -77 +82 @@
-index bb240d38d9..eb576f73d4 100644
+index 67d199ce15e..03f64298e98 100644
More information about the stable
mailing list