patch 'net/mlx5: fix jump action validation' has been queued to stable release 21.11.7

Kevin Traynor ktraynor at redhat.com
Tue Mar 5 16:34:39 CET 2024


Hi,

FYI, your patch has been queued to stable release 21.11.7

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/11/24. 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/9fe858d7b9758f06d06f29bb2aa09905e88e729e

Thanks.

Kevin

---
>From 9fe858d7b9758f06d06f29bb2aa09905e88e729e Mon Sep 17 00:00:00 2001
From: Michael Baum <michaelba at nvidia.com>
Date: Mon, 27 Nov 2023 14:42:59 +0200
Subject: [PATCH] net/mlx5: fix jump action validation

[ upstream commit 9c289272ae692bd03d1dc9726ef19785beedd313 ]

Currently PMD doesn't allow to jump to the same group in order to
avoid dead loop. But this also prevent experienced user to create
flow with less Hops in order to have better performance.

For example, rules in [1] should have better performance then [2].

Furthermore, this protection will not really prevent dead loop, i.e
[3]. So just remove this protection and user should take the
responsibility to avoid dead loop.

This patch enables jumping to the same group.

[1]:
flow create 0 group 1 priority 1 pattern eth / ipv4 / udp / gtp / end
actions raw_decap / raw_encap / jump group 1 / end
flow create 0 group 1 priority 0 pattern eth / ipv4 src is 1.0.0.1 / tcp
/ end actions queues index 1 / end

[2]:
flow create 0 group 1 priority 0 pattern eth / ipv4 / udp / gtp / end
actions raw_decap / raw_encap / jump group 2 / end
flow create 0 group 2 priority 0 pattern eth / ipv4 src is 1.0.0.1 / tcp
/ end actions queues index 1 / end

[3]:
flow create 0 group 1 pattern eth / end actions jump group 2 / end
flow create 0 group 2 pattern eth / end actions jump group 1 / end

Fixes: f78f747f41d0 ("net/mlx5: allow jump to group lower than current")

Signed-off-by: Michael Baum <michaelba at nvidia.com>
Acked-by: Matan Azrad <matan at nvidia.com>
---
 drivers/net/mlx5/mlx5_flow_dv.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index 0c66c76ef5..7cddeab48f 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -4999,11 +4999,4 @@ flow_dv_validate_action_jump(struct rte_eth_dev *dev,
 	if (ret)
 		return ret;
-	if (attributes->group == target_group &&
-	    !(action_flags & (MLX5_FLOW_ACTION_TUNNEL_SET |
-			      MLX5_FLOW_ACTION_TUNNEL_MATCH)))
-		return rte_flow_error_set(error, EINVAL,
-					  RTE_FLOW_ERROR_TYPE_ACTION, NULL,
-					  "target group must be other than"
-					  " the current flow group");
 	if (table == 0)
 		return rte_flow_error_set(error, EINVAL,
-- 
2.43.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2024-03-05 14:08:56.208759837 +0000
+++ 0066-net-mlx5-fix-jump-action-validation.patch	2024-03-05 14:08:54.738520998 +0000
@@ -1 +1 @@
-From 9c289272ae692bd03d1dc9726ef19785beedd313 Mon Sep 17 00:00:00 2001
+From 9fe858d7b9758f06d06f29bb2aa09905e88e729e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9c289272ae692bd03d1dc9726ef19785beedd313 ]
+
@@ -35 +36,0 @@
-Cc: stable at dpdk.org
@@ -44 +45 @@
-index 52620be262..f881dae6e8 100644
+index 0c66c76ef5..7cddeab48f 100644
@@ -47 +48 @@
-@@ -5485,11 +5485,4 @@ flow_dv_validate_action_jump(struct rte_eth_dev *dev,
+@@ -4999,11 +4999,4 @@ flow_dv_validate_action_jump(struct rte_eth_dev *dev,



More information about the stable mailing list