net/mlx5: fix enum misusing for steering registers
Checks
Commit Message
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: stable@dpdk.org
Signed-off-by: Michael Baum <michaelba@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
---
drivers/net/mlx5/mlx5_flow.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Comments
Hi,
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Michael Baum
> Sent: Tuesday, July 21, 2020 2:57 PM
> To: dev@dpdk.org
> Cc: Matan Azrad <matan@mellanox.com>; Slava Ovsiienko
> <viacheslavo@mellanox.com>; stable@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: stable@dpdk.org
>
> Signed-off-by: Michael Baum <michaelba@mellanox.com>
> Acked-by: Matan Azrad <matan@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
@@ -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[] = {
{