Hi You probably can do runtime tx/rx queue for ixgbe vf too. And you’re right, you need to add RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP | RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP for dev_capa.
And the most important thing is you need to do something like i40e_dev_rx_queue_setup_runtime() for i40e. This function does some queue configuration check and the most important thing queue_init. Because queue_init is in dev_start, so runtime queue needs extra queue_init first. And don’t forget that the first queue needs to set rx_funtion. Anyway, you need to do similar things (i40e_dev_rx/tx_queue_setup_runtime) for ixgbevf. I don’t see anything else you need to be careful about but not 100% sure. BRs Xiaoyun From: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue...@nokia-sbell.com> Sent: Thursday, April 29, 2021 16:44 To: Li, Xiaoyun <xiaoyun...@intel.com>; users@dpdk.org; wei....@intel.com; Zhang, Qi Z <qi.z.zh...@intel.com> Subject: RE: How can we enable runtime tx queue setup in XEON X552 eth device? Hello, Add more experts. Best Regards, Dave(Jianyue) From: Wu, Jianyue (NSB - CN/Hangzhou) Sent: 2021年4月29日 16:40 To: 'Li, Xiaoyun' <xiaoyun...@intel.com<mailto:xiaoyun...@intel.com>>; users@dpdk.org<mailto:users@dpdk.org> Subject: RE: How can we enable runtime tx queue setup in XEON X552 eth device? Hello, How can we do it like this? Thanks😊 https://doc.dpdk.org/dts/test_plans/dynamic_queue_test_plan.html#:~:text=Dynamic%20queue%20%C2%B6%20Currently%2C%20to%20configure%20a%20DPDK,the%20device%2C%20at%20this%20point%20traffic%20can%20flow. Dynamic queue lets etherdev driver exposes the capability flag through rte_eth_dev_info_get when it supports deferred queue configuraiton, then base on this flag, rte_eth_[rx|tx]_queue_setup could decide to continue to setup the queue or just return fail when device already started. rte_eth_dev_info_get->dev_info_get for X552 VF didn’t set flag of RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP. Best Regards, Dave(Jianyue) From: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue...@nokia-sbell.com<mailto:jianyue...@nokia-sbell.com>> Sent: 2021年4月29日 16:23 To: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue...@nokia-sbell.com<mailto:jianyue...@nokia-sbell.com>>; users@dpdk.org<mailto:users@dpdk.org> Subject: How can we enable runtime tx queue setup in XEON X552 eth device? Hello, How can we enable runtime tx queue setup in XEON X552 eth device? Thanks indeed! Now try to add queue in runtime in X552 VF, error will be reported. “rte_eth_tx_quuee_setup: err=-16, port = 1” Here -16 means EBUSY, because the eth device is already started, if configure this interface before start, it is fine. If I try to add dev_capa in ixgbevf_dev_info_get() in DPDK code, then another error will be reported. “Ethdev port_id=0 tx_queue_id=1, new added offloads 0x4000 must be within per-queue offload capabilities 0x0 in rte_eth_tx_queue_setup()” While in X552 datasheet, it says it is supported. In DPDK i40e driver, seems runtime tx queue setup is supported(setup TxQ when eth interface is running) drivers/net/i40e/i40e_ethdev.c dev_info->dev_capa = RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP | RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP; Best Regards, Dave(Jianyue)