[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