patch 'net/mlx5: fix Tx metadata pattern template mismatch' has been queued to stable release 23.11.6

Shani Peretz shperetz at nvidia.com
Thu Dec 25 10:19:03 CET 2025


Hi,

FYI, your patch has been queued to stable release 23.11.6

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/30/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/shanipr/dpdk-stable

This queued commit can be viewed at:
https://github.com/shanipr/dpdk-stable/commit/9831298349d105fc0aff7b937ad772bc8705c4b8

Thanks.

Shani

---
>From 9831298349d105fc0aff7b937ad772bc8705c4b8 Mon Sep 17 00:00:00 2001
From: Shani Peretz <shperetz at nvidia.com>
Date: Thu, 20 Nov 2025 12:49:36 +0200
Subject: [PATCH] net/mlx5: fix Tx metadata pattern template mismatch

When representor matching is disabled with dv_xmeta_en=4, the Tx metadata
copy flows use SQ (send queue) pattern matching, but the pattern template
was still configured to use ETH match-all pattern. This mismatch causes
hardware to reject the flows with error CQEs during port configuration.

This patch fixes the issue by using SQ-based pattern template
(flow_hw_create_tx_repr_sq_pattern_tmpl) instead of the ETH match-all
template (flow_hw_create_tx_default_mreg_copy_pattern_template).

Fixes: 593fb3fdfa10 ("net/mlx5: fix multi process Tx default rules")

Signed-off-by: Shani Peretz <shperetz at nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnowski at nvidia.com>
---
 drivers/net/mlx5/mlx5_flow_hw.c | 42 +--------------------------------
 1 file changed, 1 insertion(+), 41 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c
index 59a3e71855..d17b4d560e 100644
--- a/drivers/net/mlx5/mlx5_flow_hw.c
+++ b/drivers/net/mlx5/mlx5_flow_hw.c
@@ -7946,46 +7946,6 @@ flow_hw_create_ctrl_port_pattern_template(struct rte_eth_dev *dev,
 	return flow_hw_pattern_template_create(dev, &attr, items, error);
 }
 
-/*
- * Creating a flow pattern template with all ETH packets matching.
- * This template is used to set up a table for default Tx copy (Tx metadata
- * to REG_C_1) flow rule usage.
- *
- * @param dev
- *   Pointer to Ethernet device.
- * @param error
- *   Pointer to error structure.
- *
- * @return
- *   Pointer to flow pattern template on success, NULL otherwise.
- */
-static struct rte_flow_pattern_template *
-flow_hw_create_tx_default_mreg_copy_pattern_template(struct rte_eth_dev *dev,
-						     struct rte_flow_error *error)
-{
-	struct rte_flow_pattern_template_attr tx_pa_attr = {
-		.relaxed_matching = 0,
-		.egress = 1,
-	};
-	struct rte_flow_item_eth promisc = {
-		.hdr.dst_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-		.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-		.hdr.ether_type = 0,
-	};
-	struct rte_flow_item eth_all[] = {
-		[0] = {
-			.type = RTE_FLOW_ITEM_TYPE_ETH,
-			.spec = &promisc,
-			.mask = &promisc,
-		},
-		[1] = {
-			.type = RTE_FLOW_ITEM_TYPE_END,
-		},
-	};
-
-	return flow_hw_pattern_template_create(dev, &tx_pa_attr, eth_all, error);
-}
-
 /*
  * Creating a flow pattern template with all LACP packets matching, only for NIC
  * ingress domain.
@@ -8691,7 +8651,7 @@ flow_hw_create_ctrl_tables(struct rte_eth_dev *dev, struct rte_flow_error *error
 	/* Create templates and table for default Tx metadata copy flow rule. */
 	if (!repr_matching && xmeta == MLX5_XMETA_MODE_META32_HWS) {
 		hw_ctrl_fdb->tx_meta_items_tmpl =
-			flow_hw_create_tx_default_mreg_copy_pattern_template(dev, error);
+			flow_hw_create_tx_repr_sq_pattern_tmpl(dev, error);
 		if (!hw_ctrl_fdb->tx_meta_items_tmpl) {
 			DRV_LOG(ERR, "port %u failed to Tx metadata copy pattern"
 				" template for control flows", dev->data->port_id);
-- 
2.43.0



More information about the stable mailing list