net/mlx5: fix default rule do RSS regardless rxmode
Checks
Commit Message
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@dpdk.org
Signed-off-by: Xiaoyu Min <jackmin@mellanox.com>
---
drivers/net/mlx5/mlx5_flow.c | 2 ++
1 file changed, 2 insertions(+)
Comments
> -----Original Message-----
> From: Xiaoyu Min <jackmin@mellanox.com>
> Sent: Wednesday, April 29, 2020 16:01
> To: Matan Azrad <matan@mellanox.com>; Shahaf Shuler
> <shahafs@mellanox.com>; Slava Ovsiienko <viacheslavo@mellanox.com>
> Cc: dev@dpdk.org; stable@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@dpdk.org
>
> Signed-off-by: Xiaoyu Min <jackmin@mellanox.com>
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@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
> -----Original Message-----
> From: Slava Ovsiienko
> Sent: Thursday, April 30, 2020 11:52
> To: Xiaoyu Min <jackmin@mellanox.com>; Matan Azrad
> <matan@mellanox.com>; Shahaf Shuler <shahafs@mellanox.com>
> Cc: dev@dpdk.org; stable@dpdk.org
> Subject: RE: [PATCH] net/mlx5: fix default rule do RSS regardless rxmode
>
> > -----Original Message-----
> > From: Xiaoyu Min <jackmin@mellanox.com>
> > Sent: Wednesday, April 29, 2020 16:01
> > To: Matan Azrad <matan@mellanox.com>; Shahaf Shuler
> > <shahafs@mellanox.com>; Slava Ovsiienko <viacheslavo@mellanox.com>
> > Cc: dev@dpdk.org; stable@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@dpdk.org
> >
> > Signed-off-by: Xiaoyu Min <jackmin@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@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
From: Slava Ovsiienko
> > -----Original Message-----
> > From: Slava Ovsiienko
> > Sent: Thursday, April 30, 2020 11:52
> > To: Xiaoyu Min <jackmin@mellanox.com>; Matan Azrad
> > <matan@mellanox.com>; Shahaf Shuler <shahafs@mellanox.com>
> > Cc: dev@dpdk.org; stable@dpdk.org
> > Subject: RE: [PATCH] net/mlx5: fix default rule do RSS regardless
> > rxmode
> >
> > > -----Original Message-----
> > > From: Xiaoyu Min <jackmin@mellanox.com>
> > > Sent: Wednesday, April 29, 2020 16:01
> > > To: Matan Azrad <matan@mellanox.com>; Shahaf Shuler
> > > <shahafs@mellanox.com>; Slava Ovsiienko
> <viacheslavo@mellanox.com>
> > > Cc: dev@dpdk.org; stable@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@dpdk.org
> > >
> > > Signed-off-by: Xiaoyu Min <jackmin@mellanox.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
Hi,
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Xiaoyu Min
> Sent: Wednesday, April 29, 2020 4:01 PM
> To: Matan Azrad <matan@mellanox.com>; Shahaf Shuler
> <shahafs@mellanox.com>; Slava Ovsiienko <viacheslavo@mellanox.com>
> Cc: dev@dpdk.org; stable@dpdk.org
> Subject: [dpdk-dev] [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@dpdk.org
>
> Signed-off-by: Xiaoyu Min <jackmin@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
Patch applied to next-net-mlx,
Kindest regards,
Raslan Darawsheh
@@ -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,