| Bug ID | 1310 |
|---|---|
| Summary | iavf : max_rtx_queues not true when network adaptor not support large vf |
| Product | DPDK |
| Version | 22.11 |
| Hardware | x86 |
| OS | Linux |
| Status | UNCONFIRMED |
| Severity | normal |
| Priority | Normal |
| Component | ethdev |
| Assignee | dev@dpdk.org |
| Reporter | yue.ma@ericsson.com |
| Target Milestone | --- |
our app code use dev_info->max_tx_queues to check the max queue. we get dev_info->max_rx_queues=265(IAVF_MAX_NUM_QUEUES_LV), but when we try to requet 30 tx queue, we got iavf_dev_configure(): large VF is not supported. by check code we find that : max queue number of nomal vf is 16 (IAVF_MAX_NUM_QUEUES_DFLT). may be the code need to change like this : drivers/net/iavf/iavf_ethdev.c: static int iavf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) { struct iavf_adapter *adapter = IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); struct iavf_info *vf = &adapter->vf; if (adapter->closed) return -EIO; dev_info->max_rx_queues = IAVF_MAX_NUM_QUEUES_LV; dev_info->max_tx_queues = IAVF_MAX_NUM_QUEUES_LV; + if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_LARGE_NUM_QPAIRS){ + dev_info->max_rx_queues = IAVF_MAX_NUM_QUEUES_DFLT; + dev_info->max_tx_queues = IAVF_MAX_NUM_QUEUES_DFLT; + }