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

Rongwei Liu rongweil at nvidia.com
Tue Nov 2 09:24:14 CET 2021


Hi Bing:
	Need to backport to 20.11?

BR
Rongwei

> -----Original Message-----
> From: Bing Zhao <bingz at nvidia.com>
> Sent: Tuesday, November 2, 2021 4:21 PM
> To: Rongwei Liu <rongweil at nvidia.com>; 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>
> Cc: dev at dpdk.org; Raslan Darawsheh <rasland at nvidia.com>
> Subject: RE: [PATCH v1] net/mlx5: fix meter policy validation
> 
> 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