On Mon, Mar 19, 2018 at 11:30:07AM -0500, Allain Legacy wrote: > From: Dahir Osman <dahir.os...@windriver.com> > > In some environments it is desirable to have the NIC perform RSS > normally on the packet regardless of the number of queues configured. > The RSS hash result that is stored in the mbuf can then be used by > the application to make decisions about how to distribute workloads > to threads, secondary processes, or even virtual machines if the > application is a virtual switch. This change to the mlx5 driver > aligns with how other drivers in the Intel family work. > > Signed-off-by: Allain Legacy <allain.leg...@windriver.com> > --- > drivers/net/mlx5/mlx5_rxq.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c > index ff58c4921..e6b05b0ad 100644 > --- a/drivers/net/mlx5/mlx5_rxq.c > +++ b/drivers/net/mlx5/mlx5_rxq.c > @@ -1028,7 +1028,8 @@ mlx5_priv_rxq_new(struct priv *priv, uint16_t idx, > uint16_t desc, > tmpl->rxq.crc_present ? "disabled" : "enabled", > tmpl->rxq.crc_present << 2); > /* Save port ID. */ > - tmpl->rxq.rss_hash = priv->rxqs_n > 1; > + tmpl->rxq.rss_hash = (!!(dev->data->dev_conf.rxmode.mq_mode & > + ETH_MQ_RX_RSS)); > tmpl->rxq.port_id = dev->data->port_id; > tmpl->priv = priv; > tmpl->rxq.mp = mp; > -- > 2.12.1
Unfortunately, is not enough to have a valid RSS hash result when the PMD has a single Rx queue, a little more work needs to be handled in the mlx5_flow.c engine to configure the hash field in Verbs Hash Rx queues when a single queues is being used. Thanks, -- Nélio Laranjeiro 6WIND