[dpdk-stable] [PATCH v4] net/i40e: fix incorrect hash look up table

Wang, ShougangX shougangx.wang at intel.com
Fri Jul 24 06:49:19 CEST 2020


Hi, Jeff

> -----Original Message-----
> From: Guo, Jia <jia.guo at intel.com>
> Sent: Friday, July 24, 2020 11:58 AM
> To: Wang, ShougangX <shougangx.wang at intel.com>; dev at dpdk.org
> Cc: Xing, Beilei <beilei.xing at intel.com>; stable at dpdk.org
> Subject: Re: [PATCH v4] net/i40e: fix incorrect hash look up table
> 
> hi, shougang
> 
> On 7/24/2020 10:47 AM, Shougang Wang wrote:
> > The hash look up table (LUT) is managed by global register but it is
> > not initialized when RSS is disabled. Once user wants to enable RSS
> > during runtime, the LUT will not be initialized.
> > This patch fixes the issue by initializing the LUT whether RSS enabled
> > or not.
> 
> 
> "whatever" but not "whether"?
"whatever", I will fix it.

> 
> 
> >
> > Fixes: feaae285b342 ("net/i40e: support hash configuration in RSS
> > flow")
> > Cc: stable at dpdk.org
> >
> > Signed-off-by: Shougang Wang <shougangx.wang at intel.com>
> > ---
> > v4:
> > -Updated code.
> > ---
> >   drivers/net/i40e/i40e_ethdev.c | 15 ++++-----------
> >   1 file changed, 4 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/net/i40e/i40e_ethdev.c
> > b/drivers/net/i40e/i40e_ethdev.c index 05d5f2861..0a3f5e3c1 100644
> > --- a/drivers/net/i40e/i40e_ethdev.c
> > +++ b/drivers/net/i40e/i40e_ethdev.c
> > @@ -8985,6 +8985,7 @@ static int
> >   i40e_pf_config_rss(struct i40e_pf *pf)
> >   {
> >   	struct i40e_hw *hw = I40E_PF_TO_HW(pf);
> > +	enum rte_eth_rx_mq_mode mq_mode =
> > +pf->dev_data->dev_conf.rxmode.mq_mode;
> >   	struct rte_eth_rss_conf rss_conf;
> >   	uint32_t i, lut = 0;
> >   	uint16_t j, num;
> > @@ -9022,7 +9023,8 @@ i40e_pf_config_rss(struct i40e_pf *pf)
> >   	}
> >
> >   	rss_conf = pf->dev_data->dev_conf.rx_adv_conf.rss_conf;
> > -	if ((rss_conf.rss_hf & pf->adapter->flow_types_mask) == 0) {
> > +	if ((rss_conf.rss_hf & pf->adapter->flow_types_mask) == 0 ||
> > +	    !(mq_mode & ETH_MQ_RX_RSS_FLAG)) {
> >   		i40e_pf_disable_rss(pf);
> >   		return 0;
> >   	}
> > @@ -9198,16 +9200,7 @@ i40e_tunnel_filter_handle(struct rte_eth_dev
> *dev,
> >   static int
> >   i40e_pf_config_mq_rx(struct i40e_pf *pf)
> 
> 
> This function is still need or could it be replace by i40e_pf_config_rss?
It can be replaced by i40e_pf_config_rss, thanks for your review.


More information about the stable mailing list