Hi, > -----Original Message----- > From: dev <dev-boun...@dpdk.org> On Behalf Of Michael Baum > Sent: Tuesday, July 21, 2020 2:57 PM > To: dev@dpdk.org > Cc: Matan Azrad <ma...@mellanox.com>; Slava Ovsiienko > <viachesl...@mellanox.com>; sta...@dpdk.org > Subject: [dpdk-dev] [PATCH] net/mlx5: fix enum misusing for steering > registers > > 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
Patch applied to next-net-mlx, Kindest regards, Raslan Darawsheh