DPDK usage discussions
 help / color / mirror / Atom feed
* [dpdk-users] How can we enable runtime tx queue setup in XEON X552 eth device?
       [not found] <99e1f0df930b416c9a5c701bd00c3804@nokia-sbell.com>
@ 2021-04-29  8:22 ` Wu, Jianyue (NSB - CN/Hangzhou)
  2021-04-29  8:39   ` Wu, Jianyue (NSB - CN/Hangzhou)
  0 siblings, 1 reply; 5+ messages in thread
From: Wu, Jianyue (NSB - CN/Hangzhou) @ 2021-04-29  8:22 UTC (permalink / raw)
  To: Wu, Jianyue (NSB - CN/Hangzhou), users

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)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-users] How can we enable runtime tx queue setup in XEON X552 eth device?
  2021-04-29  8:22 ` [dpdk-users] How can we enable runtime tx queue setup in XEON X552 eth device? Wu, Jianyue (NSB - CN/Hangzhou)
@ 2021-04-29  8:39   ` Wu, Jianyue (NSB - CN/Hangzhou)
  2021-04-29  8:43     ` Wu, Jianyue (NSB - CN/Hangzhou)
  0 siblings, 1 reply; 5+ messages in thread
From: Wu, Jianyue (NSB - CN/Hangzhou) @ 2021-04-29  8:39 UTC (permalink / raw)
  To: Li, Xiaoyun, users

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.wu@nokia-sbell.com>
Sent: 2021年4月29日 16:23
To: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue.wu@nokia-sbell.com>; 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)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-users] How can we enable runtime tx queue setup in XEON X552 eth device?
  2021-04-29  8:39   ` Wu, Jianyue (NSB - CN/Hangzhou)
@ 2021-04-29  8:43     ` Wu, Jianyue (NSB - CN/Hangzhou)
  2021-04-29  9:16       ` Li, Xiaoyun
  0 siblings, 1 reply; 5+ messages in thread
From: Wu, Jianyue (NSB - CN/Hangzhou) @ 2021-04-29  8:43 UTC (permalink / raw)
  To: Li, Xiaoyun, users, wei.dai, qi.z.zhang

Hello,

Add more experts.

Best Regards,
Dave(Jianyue)

From: Wu, Jianyue (NSB - CN/Hangzhou)
Sent: 2021年4月29日 16:40
To: 'Li, Xiaoyun' <xiaoyun.li@intel.com>; 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.wu@nokia-sbell.com<mailto:jianyue.wu@nokia-sbell.com>>
Sent: 2021年4月29日 16:23
To: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue.wu@nokia-sbell.com<mailto:jianyue.wu@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)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-users] How can we enable runtime tx queue setup in XEON X552 eth device?
  2021-04-29  8:43     ` Wu, Jianyue (NSB - CN/Hangzhou)
@ 2021-04-29  9:16       ` Li, Xiaoyun
  2021-04-29  9:49         ` Wu, Jianyue (NSB - CN/Hangzhou)
  0 siblings, 1 reply; 5+ messages in thread
From: Li, Xiaoyun @ 2021-04-29  9:16 UTC (permalink / raw)
  To: Wu, Jianyue (NSB - CN/Hangzhou), users, wei.dai, Zhang, Qi Z

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.wu@nokia-sbell.com>
Sent: Thursday, April 29, 2021 16:44
To: Li, Xiaoyun <xiaoyun.li@intel.com>; users@dpdk.org; wei.dai@intel.com; Zhang, Qi Z <qi.z.zhang@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.li@intel.com<mailto:xiaoyun.li@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.wu@nokia-sbell.com<mailto:jianyue.wu@nokia-sbell.com>>
Sent: 2021年4月29日 16:23
To: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue.wu@nokia-sbell.com<mailto:jianyue.wu@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)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-users] How can we enable runtime tx queue setup in XEON X552 eth device?
  2021-04-29  9:16       ` Li, Xiaoyun
@ 2021-04-29  9:49         ` Wu, Jianyue (NSB - CN/Hangzhou)
  0 siblings, 0 replies; 5+ messages in thread
From: Wu, Jianyue (NSB - CN/Hangzhou) @ 2021-04-29  9:49 UTC (permalink / raw)
  To: Li, Xiaoyun, users, wei.dai, Zhang, Qi Z

Hello, Xiaoyun,

Thanks indeed for the advice, and so fast reply, will check these implementation like i40e_dev_tx_queue_setup_runtime() in i40e, to see how to use it in ixgbe😊

Best Regards,
Dave(Jianyue)

From: Li, Xiaoyun <xiaoyun.li@intel.com>
Sent: 2021年4月29日 17:17
To: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue.wu@nokia-sbell.com>; users@dpdk.org; wei.dai@intel.com; Zhang, Qi Z <qi.z.zhang@intel.com>
Subject: RE: How can we enable runtime tx queue setup in XEON X552 eth device?

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.wu@nokia-sbell.com<mailto:jianyue.wu@nokia-sbell.com>>
Sent: Thursday, April 29, 2021 16:44
To: Li, Xiaoyun <xiaoyun.li@intel.com<mailto:xiaoyun.li@intel.com>>; users@dpdk.org<mailto:users@dpdk.org>; wei.dai@intel.com<mailto:wei.dai@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com<mailto:qi.z.zhang@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.li@intel.com<mailto:xiaoyun.li@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.wu@nokia-sbell.com<mailto:jianyue.wu@nokia-sbell.com>>
Sent: 2021年4月29日 16:23
To: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue.wu@nokia-sbell.com<mailto:jianyue.wu@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)


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-04-29  9:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <99e1f0df930b416c9a5c701bd00c3804@nokia-sbell.com>
2021-04-29  8:22 ` [dpdk-users] How can we enable runtime tx queue setup in XEON X552 eth device? Wu, Jianyue (NSB - CN/Hangzhou)
2021-04-29  8:39   ` Wu, Jianyue (NSB - CN/Hangzhou)
2021-04-29  8:43     ` Wu, Jianyue (NSB - CN/Hangzhou)
2021-04-29  9:16       ` Li, Xiaoyun
2021-04-29  9:49         ` Wu, Jianyue (NSB - CN/Hangzhou)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).