* About rte_flow asynchronous API
@ 2023-06-09 7:57 Junghan Yoon
[not found] ` <SA3PR12MB881195174A9F4F5C7F183525CD51A@SA3PR12MB8811.namprd12.prod.outlook.com>
0 siblings, 1 reply; 6+ messages in thread
From: Junghan Yoon @ 2023-06-09 7:57 UTC (permalink / raw)
To: users
[-- Attachment #1: Type: text/html, Size: 4581 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: About rte_flow asynchronous API
[not found] ` <SA3PR12MB881195174A9F4F5C7F183525CD51A@SA3PR12MB8811.namprd12.prod.outlook.com>
@ 2023-06-09 12:59 ` Bing Zhao
2023-06-09 13:49 ` Junghan Yoon
0 siblings, 1 reply; 6+ messages in thread
From: Bing Zhao @ 2023-06-09 12:59 UTC (permalink / raw)
To: users, cerotyki
[-- Attachment #1: Type: text/plain, Size: 1799 bytes --]
Hi Junghan,
In testpmd, you can easily do it by:
port stop all
# or port stop 0
flow configure 0 ......
# if there are other port(s)
# flow configure Y ......
port start all
# or port start 0
With the source code implementation, you can configure it before starting a device.
BR. Bing
From: Junghan Yoon <cerotyki@gmail.com<mailto:cerotyki@gmail.com>>
Sent: Friday, June 9, 2023 10:57:13 AM
To: users@dpdk.org<mailto:users@dpdk.org> <users@dpdk.org<mailto:users@dpdk.org>>
Subject: About rte_flow asynchronous API
Hi.
I'm trying to use testpmd to test rte_flow with asynchronous API in DPDK 22.11.
I turned on dv_esw_en=1 by echoing switchdev to /sys/class/net/...., and set dv_flow_en to 2 to use connectX-6 HWS (hardware steering).
sudo build/app/dpdk-testpmd -a 0000:8a:00.0,dv_flow_en=2 -a 0000:8a:00.1,dv_flow_en=2 -- -i --rxq=1 --txq=1
In the prompt, I typed below
flow configure 0 queues_number 1 queues_size 10 counters_number 0 aging_counters_number 0 meters_number 0 flags 0
but it said "Device with port_id=0 already started.".
I know rte_flow_configure() call should be in the middle of rte_eth_dev_configure() and rte_eth_dev_start().
So, I run testpmd by below to postpone device start,
sudo build/app/dpdk-testpmd -a 0000:8a:00.0,dv_flow_en=2 -a 0000:8a:00.1,dv_flow_en=2 -- -i --rxq=1 --txq=1 --disable-device-start
However, now not only rte_eth_dev_start() but also rte_eth_dev_configure() does not start, so it said "Device with port_id=0 is not configured.".
How can I run rte_flow_configure() between rte_eth_dev_configure() and rte_eth_dev_start() in testpmd?
Is there any parameter to postpone only rte_eth_dev_start()?
Sincerely,
Junghan Yoon.
[-- Attachment #2: Type: text/html, Size: 8667 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: RE: About rte_flow asynchronous API
2023-06-09 12:59 ` Bing Zhao
@ 2023-06-09 13:49 ` Junghan Yoon
2023-06-09 13:56 ` Bing Zhao
0 siblings, 1 reply; 6+ messages in thread
From: Junghan Yoon @ 2023-06-09 13:49 UTC (permalink / raw)
To: Bing Zhao, users
[-- Attachment #1: Type: text/html, Size: 13364 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: RE: About rte_flow asynchronous API
2023-06-09 13:49 ` Junghan Yoon
@ 2023-06-09 13:56 ` Bing Zhao
2023-06-09 14:05 ` Junghan Yoon
0 siblings, 1 reply; 6+ messages in thread
From: Bing Zhao @ 2023-06-09 13:56 UTC (permalink / raw)
To: Junghan Yoon, users
[-- Attachment #1: Type: text/plain, Size: 3211 bytes --]
What’s the FW version are you using?
If you are using OFED driver, it is suggested that you try the OFED >=5.8 with the FW inside.
BR. Bing
From: Junghan Yoon <cerotyki@gmail.com>
Sent: Friday, June 9, 2023 9:50 PM
To: Bing Zhao <bingz@nvidia.com>; users@dpdk.org
Subject: RE: RE: About rte_flow asynchronous API
External email: Use caution opening links or attachments
Thank you Zhao.
I tried it, but now mlx5 driver returned error.
mlx5_net: [mlx5dr_action_create_generic]: Cannot create HWS action since HWS is not supported
It is what I saw in my original code before trying on testpmd.
It seems to be an issue from connectX-6 configuration.
Is there anyone ever tried to use asynchronous API with connectX-6?
Setting dv_flow_en=2 and dv_esw_en=1 seems not enough.
I explored the mlx5 code, and found that rte_flow_configure() queries HCA capability by mlx5dr_cmd_query_caps().
In my case, rte_flow_configure() returned error since caps->wqe_based_update is set by 0.
Is there anyone know how to set this value to non-zero?
I already wrote the same question on nvidia forum.
Sincerely,
Junghan Yoon
보낸 사람: Bing Zhao<mailto:bingz@nvidia.com>
보낸 날짜: 2023년 6월 9일 금요일 오후 10:00
받는 사람: users@dpdk.org<mailto:users@dpdk.org>; cerotyki@gmail.com<mailto:cerotyki@gmail.com>
제목: RE: About rte_flow asynchronous API
Hi Junghan,
In testpmd, you can easily do it by:
port stop all
# or port stop 0
flow configure 0 ……
# if there are other port(s)
# flow configure Y ……
port start all
# or port start 0
With the source code implementation, you can configure it before starting a device.
BR. Bing
From: Junghan Yoon <cerotyki@gmail.com<mailto:cerotyki@gmail.com>>
Sent: Friday, June 9, 2023 10:57:13 AM
To: users@dpdk.org<mailto:users@dpdk.org> <users@dpdk.org<mailto:users@dpdk.org>>
Subject: About rte_flow asynchronous API
Hi.
I’m trying to use testpmd to test rte_flow with asynchronous API in DPDK 22.11.
I turned on dv_esw_en=1 by echoing switchdev to /sys/class/net/…., and set dv_flow_en to 2 to use connectX-6 HWS (hardware steering).
sudo build/app/dpdk-testpmd -a 0000:8a:00.0,dv_flow_en=2 -a 0000:8a:00.1,dv_flow_en=2 -- -i --rxq=1 --txq=1
In the prompt, I typed below
flow configure 0 queues_number 1 queues_size 10 counters_number 0 aging_counters_number 0 meters_number 0 flags 0
but it said “Device with port_id=0 already started.”.
I know rte_flow_configure() call should be in the middle of rte_eth_dev_configure() and rte_eth_dev_start().
So, I run testpmd by below to postpone device start,
sudo build/app/dpdk-testpmd -a 0000:8a:00.0,dv_flow_en=2 -a 0000:8a:00.1,dv_flow_en=2 -- -i --rxq=1 --txq=1 --disable-device-start
However, now not only rte_eth_dev_start() but also rte_eth_dev_configure() does not start, so it said “Device with port_id=0 is not configured.”.
How can I run rte_flow_configure() between rte_eth_dev_configure() and rte_eth_dev_start() in testpmd?
Is there any parameter to postpone only rte_eth_dev_start()?
Sincerely,
Junghan Yoon.
[-- Attachment #2: Type: text/html, Size: 18842 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: RE: About rte_flow asynchronous API
2023-06-09 13:56 ` Bing Zhao
@ 2023-06-09 14:05 ` Junghan Yoon
2023-06-09 14:10 ` Bing Zhao
0 siblings, 1 reply; 6+ messages in thread
From: Junghan Yoon @ 2023-06-09 14:05 UTC (permalink / raw)
To: Bing Zhao, users
[-- Attachment #1: Type: text/html, Size: 16502 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: RE: About rte_flow asynchronous API
2023-06-09 14:05 ` Junghan Yoon
@ 2023-06-09 14:10 ` Bing Zhao
0 siblings, 0 replies; 6+ messages in thread
From: Bing Zhao @ 2023-06-09 14:10 UTC (permalink / raw)
To: Junghan Yoon, users
[-- Attachment #1: Type: text/plain, Size: 3987 bytes --]
FW seems to be a bit old. Please update to 22.34.1xxx to have a try.
From: Junghan Yoon <cerotyki@gmail.com>
Sent: Friday, June 9, 2023 10:06 PM
To: Bing Zhao <bingz@nvidia.com>; users@dpdk.org
Subject: RE: RE: About rte_flow asynchronous API
External email: Use caution opening links or attachments
Thank you for your quick response.
Firmware version is 22.30.1004, and OFED version is OFED-5.8-1.1.2.
Sincerely,
Junghan Yoon
보낸 사람: Bing Zhao<mailto:bingz@nvidia.com>
보낸 날짜: 2023년 6월 9일 금요일 오후 10:56
받는 사람: Junghan Yoon<mailto:cerotyki@gmail.com>; users@dpdk.org<mailto:users@dpdk.org>
제목: RE: RE: About rte_flow asynchronous API
What’s the FW version are you using?
If you are using OFED driver, it is suggested that you try the OFED >=5.8 with the FW inside.
BR. Bing
From: Junghan Yoon <cerotyki@gmail.com<mailto:cerotyki@gmail.com>>
Sent: Friday, June 9, 2023 9:50 PM
To: Bing Zhao <bingz@nvidia.com<mailto:bingz@nvidia.com>>; users@dpdk.org<mailto:users@dpdk.org>
Subject: RE: RE: About rte_flow asynchronous API
External email: Use caution opening links or attachments
Thank you Zhao.
I tried it, but now mlx5 driver returned error.
mlx5_net: [mlx5dr_action_create_generic]: Cannot create HWS action since HWS is not supported
It is what I saw in my original code before trying on testpmd.
It seems to be an issue from connectX-6 configuration.
Is there anyone ever tried to use asynchronous API with connectX-6?
Setting dv_flow_en=2 and dv_esw_en=1 seems not enough.
I explored the mlx5 code, and found that rte_flow_configure() queries HCA capability by mlx5dr_cmd_query_caps().
In my case, rte_flow_configure() returned error since caps->wqe_based_update is set by 0.
Is there anyone know how to set this value to non-zero?
I already wrote the same question on nvidia forum.
Sincerely,
Junghan Yoon
보낸 사람: Bing Zhao<mailto:bingz@nvidia.com>
보낸 날짜: 2023년 6월 9일 금요일 오후 10:00
받는 사람: users@dpdk.org<mailto:users@dpdk.org>; cerotyki@gmail.com<mailto:cerotyki@gmail.com>
제목: RE: About rte_flow asynchronous API
Hi Junghan,
In testpmd, you can easily do it by:
port stop all
# or port stop 0
flow configure 0 ……
# if there are other port(s)
# flow configure Y ……
port start all
# or port start 0
With the source code implementation, you can configure it before starting a device.
BR. Bing
From: Junghan Yoon <cerotyki@gmail.com<mailto:cerotyki@gmail.com>>
Sent: Friday, June 9, 2023 10:57:13 AM
To: users@dpdk.org<mailto:users@dpdk.org> <users@dpdk.org<mailto:users@dpdk.org>>
Subject: About rte_flow asynchronous API
Hi.
I’m trying to use testpmd to test rte_flow with asynchronous API in DPDK 22.11.
I turned on dv_esw_en=1 by echoing switchdev to /sys/class/net/…., and set dv_flow_en to 2 to use connectX-6 HWS (hardware steering).
sudo build/app/dpdk-testpmd -a 0000:8a:00.0,dv_flow_en=2 -a 0000:8a:00.1,dv_flow_en=2 -- -i --rxq=1 --txq=1
In the prompt, I typed below
flow configure 0 queues_number 1 queues_size 10 counters_number 0 aging_counters_number 0 meters_number 0 flags 0
but it said “Device with port_id=0 already started.”.
I know rte_flow_configure() call should be in the middle of rte_eth_dev_configure() and rte_eth_dev_start().
So, I run testpmd by below to postpone device start,
sudo build/app/dpdk-testpmd -a 0000:8a:00.0,dv_flow_en=2 -a 0000:8a:00.1,dv_flow_en=2 -- -i --rxq=1 --txq=1 --disable-device-start
However, now not only rte_eth_dev_start() but also rte_eth_dev_configure() does not start, so it said “Device with port_id=0 is not configured.”.
How can I run rte_flow_configure() between rte_eth_dev_configure() and rte_eth_dev_start() in testpmd?
Is there any parameter to postpone only rte_eth_dev_start()?
Sincerely,
Junghan Yoon.
[-- Attachment #2: Type: text/html, Size: 22807 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-06-09 14:10 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-09 7:57 About rte_flow asynchronous API Junghan Yoon
[not found] ` <SA3PR12MB881195174A9F4F5C7F183525CD51A@SA3PR12MB8811.namprd12.prod.outlook.com>
2023-06-09 12:59 ` Bing Zhao
2023-06-09 13:49 ` Junghan Yoon
2023-06-09 13:56 ` Bing Zhao
2023-06-09 14:05 ` Junghan Yoon
2023-06-09 14:10 ` Bing Zhao
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).