[dpdk-dev] [PATCH v4] net/i40e: fix incorrect hash look up table
Jeff Guo
jia.guo at intel.com
Fri Jul 24 05:57:52 CEST 2020
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"?
>
> 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?
> {
> - int ret = 0;
> - enum rte_eth_rx_mq_mode mq_mode = pf->dev_data->dev_conf.rxmode.mq_mode;
> -
> - /* RSS setup */
> - if (mq_mode & ETH_MQ_RX_RSS_FLAG)
> - ret = i40e_pf_config_rss(pf);
> - else
> - i40e_pf_disable_rss(pf);
> -
> - return ret;
> + return i40e_pf_config_rss(pf);
> }
>
> /* Get the symmetric hash enable configurations per port */
More information about the dev
mailing list