From 1fddb5205b9f50dc6efdb9d23d0b0e63a254df39 Mon Sep 17 00:00:00 2001 From: Alexander Kozyrev Date: Tue, 25 May 2021 20:14:14 +0300 Subject: [PATCH] net/mlx5: allow copy from one tag to another The modify field implementation in mlx5 driver has a check to prevent a copy from a field to the same field. But the level is not taken into account which prevents a copy from different tags. Check the level and allow a copy from one tag to another. Fixes: 641dbe4fb05 ("net/mlx5: support modify field flow action") Cc: stable@dpdk.org Signed-off-by: Alexander Kozyrev Acked-by: Viacheslav Ovsiienko --- drivers/net/mlx5/mlx5_flow_dv.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index c50649a107..acb9af4e61 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -4788,8 +4788,10 @@ flow_dv_validate_action_modify_field(struct rte_eth_dev *dev, "inner header fields modification" " is not supported"); } - if (action_modify_field->dst.field == - action_modify_field->src.field) + if ((action_modify_field->dst.field == + action_modify_field->src.field) && + (action_modify_field->dst.level == + action_modify_field->src.level)) return rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ACTION, action, "source and destination fields" -- 2.20.1