[dpdk-stable] [PATCH] net/mlx5: fix default rule do RSS regardless rxmode

Slava Ovsiienko viacheslavo at mellanox.com
Thu Apr 30 10:54:03 CEST 2020


> -----Original Message-----
> From: Slava Ovsiienko
> Sent: Thursday, April 30, 2020 11:52
> To: Xiaoyu Min <jackmin at mellanox.com>; Matan Azrad
> <matan at mellanox.com>; Shahaf Shuler <shahafs at mellanox.com>
> Cc: dev at dpdk.org; stable at dpdk.org
> Subject: RE: [PATCH] net/mlx5: fix default rule do RSS regardless rxmode
> 
> > -----Original Message-----
> > From: Xiaoyu Min <jackmin at mellanox.com>
> > Sent: Wednesday, April 29, 2020 16:01
> > To: Matan Azrad <matan at mellanox.com>; Shahaf Shuler
> > <shahafs at mellanox.com>; Slava Ovsiienko <viacheslavo at mellanox.com>
> > Cc: dev at dpdk.org; stable at dpdk.org
> > Subject: [PATCH] net/mlx5: fix default rule do RSS regardless rxmode
> >
> > PMD create some default control rules with RSS action if it's not
> > isolated mode.
> >
> > However whether default control rules need to do RSS or not should be
> > controlled by device configuration, the mq_mode of rxmode
> > configuration in specific.
> >
> > In another word, only when mq_mode is configured with
> > ETH_MQ_RX_RSS_FLAG set, then RSS is needed for default rules.
> >
> > Fixes: c64ccc0eca2f ("mlx5: fix overwritten RSS configuration")
> > Cc: stable at dpdk.org
> >
> > Signed-off-by: Xiaoyu Min <jackmin at mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo at mellanox.com>

> 
> > ---
> >  drivers/net/mlx5/mlx5_flow.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/net/mlx5/mlx5_flow.c
> > b/drivers/net/mlx5/mlx5_flow.c index e9ae2f782c..cb593c9449 100644
> > --- a/drivers/net/mlx5/mlx5_flow.c
> > +++ b/drivers/net/mlx5/mlx5_flow.c
> > @@ -4912,6 +4912,8 @@ mlx5_ctrl_flow_vlan(struct rte_eth_dev *dev,
> >  	if (!priv->reta_idx_n || !priv->rxqs_n) {
> >  		return 0;
> >  	}
> > +	if (!(dev->data->dev_conf.rxmode.mq_mode &
> > ETH_MQ_RX_RSS_FLAG))
> > +		action_rss.types = 0;
> >  	for (i = 0; i != priv->reta_idx_n; ++i)
> >  		queue[i] = (*priv->reta_idx)[i];
> >  	flow_idx = flow_list_create(dev, &priv->ctrl_flows,
> > --
> > 2.26.0



More information about the stable mailing list