net/mlx5: fix wrong assert in modify converting

Message ID 1588165574-237391-1-git-send-email-bingz@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Raslan Darawsheh
Headers
Series net/mlx5: fix wrong assert in modify converting |

Checks

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

Commit Message

Bing Zhao April 29, 2020, 1:06 p.m. UTC
  The assertion was added incorrectly in converting the modify actions
into the format of low layer driver.
There is no mask specified in the rte_flow actions, and PMD dirver
will give a mask of all 1s to the field to be modified. For each
field, the mask could not be zero. But for the whole header which
contains this field, the masks of other fields could be zero. The
assertion needs to be removed for debug mode.

Fixes: 72a944dba163 ("net/mlx5: fix header modify action validation")
Cc: stable@dpdk.org

Signed-off-by: Bing Zhao <bingz@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
---
 drivers/net/mlx5/mlx5_flow_dv.c | 1 -
 1 file changed, 1 deletion(-)
  

Comments

Raslan Darawsheh May 4, 2020, 7:20 a.m. UTC | #1
Hi,
> -----Original Message-----
> From: Bing Zhao <bingz@mellanox.com>
> Sent: Wednesday, April 29, 2020 4:06 PM
> To: Slava Ovsiienko <viacheslavo@mellanox.com>; Raslan Darawsheh
> <rasland@mellanox.com>
> Cc: Ori Kam <orika@mellanox.com>; Matan Azrad <matan@mellanox.com>;
> dev@dpdk.org; stable@dpdk.org
> Subject: [PATCH] net/mlx5: fix wrong assert in modify converting
> 
> The assertion was added incorrectly in converting the modify actions
> into the format of low layer driver.
> There is no mask specified in the rte_flow actions, and PMD dirver
> will give a mask of all 1s to the field to be modified. For each
> field, the mask could not be zero. But for the whole header which
> contains this field, the masks of other fields could be zero. The
> assertion needs to be removed for debug mode.
> 
> Fixes: 72a944dba163 ("net/mlx5: fix header modify action validation")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Bing Zhao <bingz@mellanox.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
> ---
>  drivers/net/mlx5/mlx5_flow_dv.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_flow_dv.c
> b/drivers/net/mlx5/mlx5_flow_dv.c
> index 6263ecc..8cd9c83 100644
> --- a/drivers/net/mlx5/mlx5_flow_dv.c
> +++ b/drivers/net/mlx5/mlx5_flow_dv.c
> @@ -434,7 +434,6 @@ struct field_modify_info modify_tcp[] = {
>  		/* Fetch variable byte size mask from the array. */
>  		mask = flow_dv_fetch_field((const uint8_t *)item->mask +
>  					   field->offset, field->size);
> -		MLX5_ASSERT(mask);
>  		if (!mask) {
>  			++field;
>  			continue;
> --
> 1.8.3.1


Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh
  

Patch

diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index 6263ecc..8cd9c83 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -434,7 +434,6 @@  struct field_modify_info modify_tcp[] = {
 		/* Fetch variable byte size mask from the array. */
 		mask = flow_dv_fetch_field((const uint8_t *)item->mask +
 					   field->offset, field->size);
-		MLX5_ASSERT(mask);
 		if (!mask) {
 			++field;
 			continue;