Hi, helin Few comments
> a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index > 4b70588..3bdcaa4 100644 > --- a/drivers/net/i40e/i40e_ethdev.c > +++ b/drivers/net/i40e/i40e_ethdev.c > @@ -2240,113 +2240,88 @@ i40e_pf_parameter_init(struct rte_eth_dev > *dev) { > struct i40e_pf *pf = I40E_DEV_PRIVATE_TO_PF(dev->data- > >dev_private); > struct i40e_hw *hw = I40E_PF_TO_HW(pf); > - uint16_t sum_queues = 0, sum_vsis, left_queues; > + uint16_t qp_count = 0, vsi_count = 0; > > - /* First check if FW support SRIOV */ > if (dev->pci_dev->max_vfs && !hw->func_caps.sr_iov_1_1) { > PMD_INIT_LOG(ERR, "HW configuration doesn't support > SRIOV"); > return -EINVAL; > } > > pf->flags = I40E_FLAG_HEADER_SPLIT_DISABLED; > - pf->max_num_vsi = RTE_MIN(hw->func_caps.num_vsis, > I40E_MAX_NUM_VSIS); > - PMD_INIT_LOG(INFO, "Max supported VSIs:%u", pf->max_num_vsi); > - /* Allocate queues for pf */ > - if (hw->func_caps.rss) { > - pf->flags |= I40E_FLAG_RSS; > - pf->lan_nb_qps = RTE_MIN(hw->func_caps.num_tx_qp, > - (uint32_t)(1 << hw- > >func_caps.rss_table_entry_width)); > - pf->lan_nb_qps = i40e_align_floor(pf->lan_nb_qps); > - } else > + pf->max_num_vsi = hw->func_caps.num_vsis; > + pf->lan_nb_qp_max = RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF; > + pf->vmdq_nb_qp_max = RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM; > + pf->vf_nb_qp_max = RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF; > + Need use the NUM_PER_VF but not NUM_PER_PF pf->vf_nb_qp_max = RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF? ==> pf->vf_nb_qp_max = RTE_LIBRTE_I40E_QUEUE_NUM_PER_VF;