New connectX devices have 4 additional registers which can be used by the application. This support will allow matching on these new registers.
Signed-off-by: Itamar Gozlan <igoz...@nvidia.com> --- drivers/common/mlx5/mlx5_prm.h | 4 ++++ drivers/net/mlx5/hws/mlx5dr_definer.c | 16 ++++++++++++++++ drivers/net/mlx5/hws/mlx5dr_definer.h | 4 ++++ 3 files changed, 24 insertions(+) diff --git a/drivers/common/mlx5/mlx5_prm.h b/drivers/common/mlx5/mlx5_prm.h index 51f426c614..4ead9ba2c7 100644 --- a/drivers/common/mlx5/mlx5_prm.h +++ b/drivers/common/mlx5/mlx5_prm.h @@ -857,6 +857,10 @@ enum modify_reg { REG_C_5, REG_C_6, REG_C_7, + REG_C_8, + REG_C_9, + REG_C_10, + REG_C_11, }; /* Modification sub command. */ diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.c b/drivers/net/mlx5/hws/mlx5dr_definer.c index b82af9d102..2f6f91892b 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.c +++ b/drivers/net/mlx5/hws/mlx5dr_definer.c @@ -1412,6 +1412,22 @@ mlx5dr_definer_get_register_fc(struct mlx5dr_definer_conv_data *cd, int reg) fc = &cd->fc[MLX5DR_DEFINER_FNAME_REG_7]; DR_CALC_SET_HDR(fc, registers, register_c_7); break; + case REG_C_8: + fc = &cd->fc[MLX5DR_DEFINER_FNAME_REG_8]; + DR_CALC_SET_HDR(fc, registers, register_c_8); + break; + case REG_C_9: + fc = &cd->fc[MLX5DR_DEFINER_FNAME_REG_9]; + DR_CALC_SET_HDR(fc, registers, register_c_9); + break; + case REG_C_10: + fc = &cd->fc[MLX5DR_DEFINER_FNAME_REG_10]; + DR_CALC_SET_HDR(fc, registers, register_c_10); + break; + case REG_C_11: + fc = &cd->fc[MLX5DR_DEFINER_FNAME_REG_11]; + DR_CALC_SET_HDR(fc, registers, register_c_11); + break; case REG_A: fc = &cd->fc[MLX5DR_DEFINER_FNAME_REG_A]; DR_CALC_SET_HDR(fc, metadata, general_purpose); diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.h b/drivers/net/mlx5/hws/mlx5dr_definer.h index bf026fa6bb..f5a541bc17 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.h +++ b/drivers/net/mlx5/hws/mlx5dr_definer.h @@ -100,6 +100,10 @@ enum mlx5dr_definer_fname { MLX5DR_DEFINER_FNAME_REG_5, MLX5DR_DEFINER_FNAME_REG_6, MLX5DR_DEFINER_FNAME_REG_7, + MLX5DR_DEFINER_FNAME_REG_8, + MLX5DR_DEFINER_FNAME_REG_9, + MLX5DR_DEFINER_FNAME_REG_10, + MLX5DR_DEFINER_FNAME_REG_11, MLX5DR_DEFINER_FNAME_REG_A, MLX5DR_DEFINER_FNAME_REG_B, MLX5DR_DEFINER_FNAME_GRE_KEY_PRESENT, -- 2.38.1