net/mlx5: fix unnecessary init in MARK action conversion
diff mbox series

Message ID 1595333077-7179-1-git-send-email-michaelba@mellanox.com
State Accepted, archived
Delegated to: Raslan Darawsheh
Headers show
Series
  • net/mlx5: fix unnecessary init in MARK action conversion
Related show

Checks

Context Check Description
ci/iol-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed
ci/Intel-compilation success Compilation OK
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/checkpatch success coding style OK

Commit Message

Michael Baum July 21, 2020, 12:04 p.m. UTC
The flow_dv_convert_action_mark function defines an array of
field_modify_info structures and initializes the first entity.

In the first entity id field, it initializes to 0, even though its type
is an enum that has no value of 0.
In fact, the function does not use this id field before assigning the
appropriate register id into it, so the initialization is unnecessary.
Moreover, this initialization is int into enum, and it would be better
not to create a type conflict for no reason.

Wait for the first entity initialization until the appropriate register
id is already known.

Fixes: 55deee1715f0 ("net/mlx5: extend flow mark support")
Cc: stable@dpdk.org

Signed-off-by: Michael Baum <michaelba@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
---
 drivers/net/mlx5/mlx5_flow_dv.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

Raslan Darawsheh July 22, 2020, 3:30 p.m. UTC | #1
Hi,

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Michael Baum
> Sent: Tuesday, July 21, 2020 3:05 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 unnecessary init in MARK action
> conversion
> 
> The flow_dv_convert_action_mark function defines an array of
> field_modify_info structures and initializes the first entity.
> 
> In the first entity id field, it initializes to 0, even though its type
> is an enum that has no value of 0.
> In fact, the function does not use this id field before assigning the
> appropriate register id into it, so the initialization is unnecessary.
> Moreover, this initialization is int into enum, and it would be better
> not to create a type conflict for no reason.
> 
> Wait for the first entity initialization until the appropriate register
> id is already known.
> 
> Fixes: 55deee1715f0 ("net/mlx5: extend flow mark support")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Michael Baum <michaelba@mellanox.com>
> Acked-by: Matan Azrad <matan@mellanox.com>
> ---
>  drivers/net/mlx5/mlx5_flow_dv.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_flow_dv.c
> b/drivers/net/mlx5/mlx5_flow_dv.c
> index caeafd9..0f258b4 100644
> --- a/drivers/net/mlx5/mlx5_flow_dv.c
> +++ b/drivers/net/mlx5/mlx5_flow_dv.c
> @@ -1151,8 +1151,7 @@ struct field_modify_info modify_tcp[] = {
>  		.mask = &mask,
>  	};
>  	struct field_modify_info reg_c_x[] = {
> -		{4, 0, 0}, /* dynamic instead of
> MLX5_MODI_META_REG_C_1. */
> -		{0, 0, 0},
> +		[1] = {0, 0, 0},
>  	};
>  	int reg;
> 
> @@ -1172,7 +1171,7 @@ struct field_modify_info modify_tcp[] = {
>  		mask = rte_cpu_to_be_32(mask) & msk_c0;
>  		mask = rte_cpu_to_be_32(mask << shl_c0);
>  	}
> -	reg_c_x[0].id = reg_to_field[reg];
> +	reg_c_x[0] = (struct field_modify_info){4, 0, reg_to_field[reg]};
>  	return flow_dv_convert_modify_action(&item, reg_c_x, NULL,
> resource,
>  					     MLX5_MODIFICATION_TYPE_SET,
> error);
>  }
> --
> 1.8.3.1

Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh

Patch
diff mbox series

diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index caeafd9..0f258b4 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -1151,8 +1151,7 @@  struct field_modify_info modify_tcp[] = {
 		.mask = &mask,
 	};
 	struct field_modify_info reg_c_x[] = {
-		{4, 0, 0}, /* dynamic instead of MLX5_MODI_META_REG_C_1. */
-		{0, 0, 0},
+		[1] = {0, 0, 0},
 	};
 	int reg;
 
@@ -1172,7 +1171,7 @@  struct field_modify_info modify_tcp[] = {
 		mask = rte_cpu_to_be_32(mask) & msk_c0;
 		mask = rte_cpu_to_be_32(mask << shl_c0);
 	}
-	reg_c_x[0].id = reg_to_field[reg];
+	reg_c_x[0] = (struct field_modify_info){4, 0, reg_to_field[reg]};
 	return flow_dv_convert_modify_action(&item, reg_c_x, NULL, resource,
 					     MLX5_MODIFICATION_TYPE_SET, error);
 }