On Thu, Mar 16, 2017 at 03:40:56PM -0700, Yongseok Koh wrote: > Currently mlx5_dev_rss_reta_update() just updates tables in the host, > therefore it isn't immediately effective until restarting the device by > calling mlx5_dev_stop()/mlx5_dev_start() to update the changes in the > device side. This patch adds rebuilding the device-specific datastructure > and applying it to the device right away. > > Signed-off-by: Yongseok Koh <ys...@mellanox.com> > --- > drivers/net/mlx5/mlx5_rss.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/net/mlx5/mlx5_rss.c b/drivers/net/mlx5/mlx5_rss.c > index 0702f1a63..30e59faa5 100644 > --- a/drivers/net/mlx5/mlx5_rss.c > +++ b/drivers/net/mlx5/mlx5_rss.c > @@ -357,8 +357,11 @@ mlx5_dev_rss_reta_update(struct rte_eth_dev *dev, > int ret; > struct priv *priv = dev->data->dev_private; > > + mlx5_dev_stop(dev); > priv_lock(priv); > ret = priv_dev_rss_reta_update(priv, reta_conf, reta_size); > priv_unlock(priv); > + if (!ret) > + ret = (unsigned int)mlx5_dev_start(dev); > return -ret; > } > -- > 2.11.0 >
Hi Yongseok, I don't understand why you need the cast for the returned value of mlx5_dev_start() as it already returns an int and your final variable is also an int. Thanks, -- Nélio Laranjeiro 6WIND