[dpdk-dev] [PATCH v1] net/mlx5: fix meter policy validation

Bing Zhao bingz at nvidia.com
Tue Nov 2 09:20:50 CET 2021


Hi Rongwei,

stable at dpdk.org should also be CCed.

> -----Original Message-----
> From: Rongwei Liu <rongweil at nvidia.com>
> Sent: Tuesday, November 2, 2021 3:23 PM
> To: Matan Azrad <matan at nvidia.com>; Slava Ovsiienko
> <viacheslavo at nvidia.com>; Ori Kam <orika at nvidia.com>; NBU-Contact-
> Thomas Monjalon <thomas at monjalon.net>; Bing Zhao <bingz at nvidia.com>
> Cc: dev at dpdk.org; Raslan Darawsheh <rasland at nvidia.com>
> Subject: [PATCH v1] net/mlx5: fix meter policy validation
> 
> When a user specifies meter policy like "g_actions queue / end
> y_actions queue / r_action drop / end", validation logic missed to
> set meter policy mode and it took a random value from the stack.
> 
> Define ALL policy modes for the mentioned cases.
> 
> Fixes: 4b7bf3ffb473 ("net/mlx5: support yellow in meter policy
> validation")
> Cc: bingz at nvidia.com
> Signed-off-by: Rongwei Liu <rongweil at nvidia.com>
> Acked-by: Matan Azrad <matan at nvidia.com>
> ---
>  drivers/net/mlx5/mlx5.h         | 2 ++
>  drivers/net/mlx5/mlx5_flow_dv.c | 2 ++
>  2 files changed, 4 insertions(+)
> 
> diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h index
> 39c001aa1b..591ae2764a 100644
> --- a/drivers/net/mlx5/mlx5.h
> +++ b/drivers/net/mlx5/mlx5.h
> @@ -622,6 +622,8 @@ struct mlx5_dev_shared_port {  #define
> MLX5_MTR_TABLE_ID_DROP 2
>  /* Priority of the meter policy matcher. */  #define
> MLX5_MTR_POLICY_MATCHER_PRIO 0
> +/* Green & yellow color valid for now. */ #define
> +MLX5_MTR_POLICY_MODE_ALL 0
>  /* Default policy. */
>  #define MLX5_MTR_POLICY_MODE_DEF 1
>  /* Only green color valid. */
> diff --git a/drivers/net/mlx5/mlx5_flow_dv.c
> b/drivers/net/mlx5/mlx5_flow_dv.c index 8962d26c75..e516c11d9a
> 100644
> --- a/drivers/net/mlx5/mlx5_flow_dv.c
> +++ b/drivers/net/mlx5/mlx5_flow_dv.c
> @@ -17617,6 +17617,8 @@ flow_dv_validate_mtr_policy_acts(struct
> rte_eth_dev *dev,
>  		*policy_mode = MLX5_MTR_POLICY_MODE_OG;
>  	} else if (def_green && !def_yellow) {
>  		*policy_mode = MLX5_MTR_POLICY_MODE_OY;
> +	} else {
> +		*policy_mode = MLX5_MTR_POLICY_MODE_ALL;
>  	}
>  	/* Set to empty string in case of NULL pointer access by user.
> */
>  	flow_err.message = "";
> --
> 2.27.0

Reviewed-by: Bing Zhao <bingz at nvidia.com>

BR. Bing



More information about the dev mailing list