The mlx5_flow_action_copy_mreg structure contains a field called src type enum modify_reg, similarly the mlx5_rte_flow_item_tag field contains a field called id type enum modify_reg. The enum modify_reg variable represents different registers in the system and it also has a field called REG_NONE whose value is 0 which means that the register does not exist.
The flow_mreg_add_copy_action function sets a variable of struct mlx5_flow_action_copy_mreg type, and initializes the src field to be 0. similarly the flow_create_split_metadata function sets a variable of struct mlx5_rte_flow_item_tag type and initializes the id field to be 0. In both functions, they initialize a enum modify_reg type variable with an int type value while modify_reg has an appropriate field for that value (REG_NONE). Replace assigning 0 with REG_NONE in both functions. Fixes: dd3c774f6ffb ("net/mlx5: add metadata register copy table") Fixes: 71e254bc0294 ("net/mlx5: split Rx flows to provide metadata copy") Cc: sta...@dpdk.org Signed-off-by: Michael Baum <michae...@mellanox.com> Acked-by: Matan Azrad <ma...@mellanox.com> --- drivers/net/mlx5/mlx5_flow.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index b56bee4..aba8f41 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -3011,7 +3011,7 @@ struct mlx5_flow_tunnel_info { }; struct mlx5_flow_action_copy_mreg cp_mreg = { .dst = REG_B, - .src = 0, + .src = REG_NONE, }; struct rte_flow_action_jump jump = { .group = MLX5_FLOW_MREG_ACT_TABLE_GROUP, @@ -4067,7 +4067,7 @@ struct mlx5_flow_tunnel_info { /* Internal PMD action to set register. */ struct mlx5_rte_flow_item_tag q_tag_spec = { .data = qrss_id, - .id = 0, + .id = REG_NONE, }; struct rte_flow_item q_items[] = { { -- 1.8.3.1