[PATCH] net/mlx5: fix the validation of the sample encap action

Jiawei Wang jiaweiw at nvidia.com
Tue Nov 7 16:08:20 CET 2023


The flow sample/mirror action includes sub-actions for the
duplicated packet.
In SW steering case, dv_flow_en=1, there is a FW limitation
that forces configuring also encap action when port action
for the wire port is configured in the duplicated packet's
sub-actions.

The driver did a wrong validation for the above limitation
and forced other actions instead of encap for the wire port.
Force only encap action in case of wire port.

This patch fixes the wrongly checking for the sample encap action.

Fixes: a8697f50f50f ("net/mlx5: fix E-Switch mirror flow rule validation")
Cc: stable at dpdk.org

Signed-off-by: Jiawei Wang <jiaweiw at nvidia.com>
Acked-by: Matan Azrad <matan at nvidia.com>
---
 drivers/net/mlx5/mlx5_flow_dv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index 154e509707..9753af2cb1 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -8721,7 +8721,7 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr,
 								RTE_FLOW_ERROR_TYPE_ACTION, NULL,
 								"mirror to rep port with encap is not supported");
 			} else {
-				if ((sub_action_flags & ~MLX5_FLOW_ACTION_ENCAP) &&
+				if (!(sub_action_flags & MLX5_FLOW_ACTION_ENCAP) &&
 				    (action_flags & MLX5_FLOW_ACTION_JUMP))
 					return rte_flow_error_set(error, ENOTSUP,
 								RTE_FLOW_ERROR_TYPE_ACTION, NULL,
-- 
2.18.1



More information about the stable mailing list