Hi, > -----Original Message----- > From: Maxime Leroy <maxime.le...@6wind.com> > Sent: Thursday, July 16, 2020 1:43 PM > To: dev@dpdk.org > Cc: sta...@dpdk.org; Raslan Darawsheh <rasl...@mellanox.com> > Subject: [PATCH] net/mlx5: fix rss reta is reset when device is started > > The following sequences was working fine on mlx5: > rte_eth_dev_configure(portid, ...); > > for (queueid = 0; queueid < nb_txq; queueid++) > rte_eth_tx_queue_setup(portid, queueid, ...); > > for (queueid = 0; queueid < nb_rxq; queueid++) > rte_eth_rx_queue_setup(portid, queueid, ...); > > // use a custom reta configuration > rte_eth_dev_rss_reta_update(portid, reta_conf, reta_size); > rte_eth_dev_start(portid); > > We were able to configure a custom reta before starting the port. > > The commit "net/mlx5: support RSS on hairpin" breaks this logic by > moving the code initializing the RSS reta from rte_eth_dev_configure > into rte_eth_dev_start. > > To fix the issue, the skip_default_rss_reta is always set to 1 in > rte_eth_dev_rss_reta to avoid reconfigure the rss reta when the device > is started. > > Fixes: 63bd16292c3a ("net/mlx5: support RSS on hairpin") > Signed-off-by: Maxime Leroy <maxime.le...@6wind.com> > --- > drivers/net/mlx5/mlx5_rss.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/mlx5/mlx5_rss.c b/drivers/net/mlx5/mlx5_rss.c > index 653b0691..6f75ece2 100644 > --- a/drivers/net/mlx5/mlx5_rss.c > +++ b/drivers/net/mlx5/mlx5_rss.c > @@ -220,9 +220,11 @@ mlx5_dev_rss_reta_update(struct rte_eth_dev > *dev, > MLX5_ASSERT(reta_conf[idx].reta[pos] < priv->rxqs_n); > (*priv->reta_idx)[i] = reta_conf[idx].reta[pos]; > } > + > + priv->skip_default_rss_reta = 1; > + > if (dev->data->dev_started) { > mlx5_dev_stop(dev); > - priv->skip_default_rss_reta = 1; > return mlx5_dev_start(dev); > } > return 0; > -- > 2.27.0
Patch applied to next-net-mlx, Kindest regards, Raslan Darawsheh