From 252b5ae03685e3d4a0a184b7c6a603ea8837419b Mon Sep 17 00:00:00 2001 From: Viacheslav Ovsiienko Date: Fri, 26 Nov 2021 15:09:45 +0200 Subject: [PATCH] net/mlx5: fix modify field MAC address offset The MAC addresses fields are 48 bit wide and are processed by mlx5 PMD as two words. There the bug was introduced for the offset, causing malfunction of MODIFY_FIELD action with MAC address fields as source or destination and with non zero field offset. Fixes: 40c8fb1fd3b3 ("net/mlx5: update modify field action") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko --- drivers/net/mlx5/mlx5_flow_dv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index 8022d7d11f..5d9fbffd0e 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -1503,7 +1503,7 @@ mlx5_flow_field_id_to_modify_info if (data->offset < 16) info[idx++] = (struct field_modify_info){2, 0, MLX5_MODI_OUT_DMAC_15_0}; - info[idx] = (struct field_modify_info){4, 0, + info[idx] = (struct field_modify_info){4, off, MLX5_MODI_OUT_DMAC_47_16}; } break; @@ -1533,7 +1533,7 @@ mlx5_flow_field_id_to_modify_info if (data->offset < 16) info[idx++] = (struct field_modify_info){2, 0, MLX5_MODI_OUT_SMAC_15_0}; - info[idx] = (struct field_modify_info){4, 0, + info[idx] = (struct field_modify_info){4, off, MLX5_MODI_OUT_SMAC_47_16}; } break; -- 2.39.5