[dpdk-dev] net/i40e: fix queue number error in queue region
Checks
Commit Message
From: root <root@dpdk4.bj.intel.com>
when VSI is enabled with smaller number of queues,
for example, 1 or 6, it will cause error.64 is the
max number of queues that can be used for RSS,
but VSI might be created with only few queues.
Fixes: 7cbecc2f742 ("net/i40e: support queue region set and flush")
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---
drivers/net/i40e/rte_pmd_i40e.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
@@ -2825,6 +2825,7 @@ i40e_flush_queue_region_all_conf(struct rte_eth_dev *dev,
{
int32_t ret = -EINVAL;
struct i40e_queue_regions *info = &pf->queue_region;
+ struct i40e_vsi *main_vsi = pf->main_vsi;
if (on) {
i40e_queue_region_pf_flowtype_conf(hw, pf);
@@ -2845,7 +2846,7 @@ i40e_flush_queue_region_all_conf(struct rte_eth_dev *dev,
}
info->queue_region_number = 1;
- info->region[0].queue_num = 64;
+ info->region[0].queue_num = main_vsi->nb_used_qps;
info->region[0].queue_start_index = 0;
ret = i40e_vsi_update_queue_region_mapping(hw, pf);