[PATCH] net/mlx5: fix modify field MAC address offset
    Viacheslav Ovsiienko 
    viacheslavo at nvidia.com
       
    Fri Nov 26 12:51:13 CET 2021
    
    
  
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 wrong action translation if action
field offset was not zero.
Fixes: 40c8fb1fd3b3 ("net/mlx5: update modify field action")
Signed-off-by: Viacheslav Ovsiienko <viacheslavo at nvidia.com>
---
 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 3da122cbb9..4834c752d9 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.18.1
    
    
More information about the dev
mailing list