Hi,I encount a bug when I use iperf3 to generate udp and tcp flows, which would
makes ovs-dpdk port can't receive packets. There is details below.
The test topology is 2 VMs installed iperf3 connecting to 1 VM installed
ovs-dpdk,which NIC is e1000.
My iperf3 comand is:
iperf3 -s -i 1
iperf3 10.1.3.4 -u -b 1G -w6m -t 36000
But after for about 10s minutes or 1h longer, the iperf3 server can't receive
any packets unless restart ovs.Then I stop iperf3, let hosts ping each other,
gdb ovs-dpdk and found that rte_eth_rx_burst() always return 0 at one of
the ports, meanning it can't receive any packets.
iperf3 server message is like below:
[ 5] 2727.00-2728.00 sec 24.2 MBytes 203
Mbits/sec 0.042 ms 0/3098 (0%)
[ 5] 2728.00-2729.00 sec 26.5 MBytes 222
Mbits/sec 0.100 ms 0/3389 (0%)
[ 5] 2729.00-2730.00 sec 27.5 MBytes 231
Mbits/sec 0.079 ms 0/3522 (0%)
[ 5] 2730.00-2731.00 sec 25.1 MBytes 210
Mbits/sec 0.213 ms 9/3219 (0.28%)
[ 5] 2731.00-2732.00 sec 11.2 MBytes 94.1 Mbits/sec
0.042 ms 0/1436 (0%)
[ 5] 2732.00-2733.00 sec 0.00 Bytes 0.00 bits/sec 0.042
ms 0/0 (0%)
[ 5] 2733.00-2734.00 sec 0.00 Bytes 0.00 bits/sec 0.042
ms 0/0 (0%)
[ 5] 2734.00-2735.00 sec 0.00 Bytes 0.00 bits/sec 0.042
ms 0/0 (0%)
[ 5] 2735.00-2736.00 sec 0.00 Bytes 0.00 bits/sec 0.042
ms 0/0 (0%)
[ 5] 2736.00-2737.00 sec 0.00 Bytes 0.00 bits/sec 0.042
ms 0/0 (0%)
My dpdk version is v19.11 and ovs is v2.13.0.
Add br and port command is:
sudo ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev
sudo ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk
ofport_request=1 options:dpdk-devargs=0000:00:09.0
sudo ovs-vsctl add-port br0 dpdk1 -- set Interface dpdk1 type=dpdk
ofport_request=1 options:dpdk-devargs=0000:00:0a.0
openvswitch/conf.db:
{"Open_vSwitch":{"0246e022-ca9e-4731-85f5-c6c8d56336ee":{"cur_cfg":243}},"_date":1650512646552}
OVSDB JSON 613 1a502e0f14e6f1556e0f3a1b7ded5a850112f1fc
{"_date":1650512654432,"Open_vSwitch":{"0246e022-ca9e-4731-85f5-c6c8d56336ee":{"next_cfg":244,"bridges":["uuid","2bf3a41e-0786-4e57-8a68-520b997b2761"]}},"Interface":{"6e43e504-adda-499b-97ad-bd9f797b887e":{"type":"internal","name":"br0"}},"Bridge":{"2bf3a41e-0786-4e57-8a68-520b997b2761":{"name":"br0","datapath_type":"netdev","ports":["uuid","cadd2f4a-4858-4f8a-b00a-8cf3718a6a62"]}},"Port":{"cadd2f4a-4858-4f8a-b00a-8cf3718a6a62":{"name":"br0","interfaces":["uuid","6e43e504-adda-499b-97ad-bd9f797b887e"]}},"_comment":"ovs-vsctl
(invoked by sudo): ovs-vsctl add-br br0 -- set bridge br0
datapath_type=netdev"}
OVSDB JSON 166 4daddc916e37ce0e0cb7b624d201e4c565290713
{"_date":1650512654459,"Interface":{"6e43e504-adda-499b-97ad-bd9f797b887e":{"ofport":65534}},"Open_vSwitch":{"0246e022-ca9e-4731-85f5-c6c8d56336ee":{"cur_cfg":244}}}
OVSDB JSON 108 253251dee869e360c0d94601b98af0b044914bb3
{"_date":1650512654460,"Bridge":{"2bf3a41e-0786-4e57-8a68-520b997b2761":{"datapath_version":"<built-in>"}}}
OVSDB JSON 699 b62f01d73610c5cec0c20ab5428436fc459a0e9f
{"_date":1650512680789,"Open_vSwitch":{"0246e022-ca9e-4731-85f5-c6c8d56336ee":{"next_cfg":245}},"Interface":{"1838a7f5-4cf1-427b-bd7e-d4fa198c9df5":{"type":"dpdk","ofport_request":1,"name":"dpdk0","options":["map",[["dpdk-devargs","0000:00:09.0"]]]}},"Port":{"664ba2d6-1238-4ddc-9131-0803e81896ef":{"name":"dpdk0","interfaces":["uuid","1838a7f5-4cf1-427b-bd7e-d4fa198c9df5"]}},"Bridge":{"2bf3a41e-0786-4e57-8a68-520b997b2761":{"ports":["set",[["uuid","664ba2d6-1238-4ddc-9131-0803e81896ef"],["uuid","cadd2f4a-4858-4f8a-b00a-8cf3718a6a62"]]]}},"_comment":"ovs-vsctl
(invoked by sudo): ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0
type=dpdk ofport_request=1 options:dpdk-devargs=0000:00:09.0"}
OVSDB JSON 162 5afe21f64b6e3a41a23c54738e737bcfcbb2cef8
{"_date":1650512681030,"Interface":{"1838a7f5-4cf1-427b-bd7e-d4fa198c9df5":{"ofport":1}},"Open_vSwitch":{"0246e022-ca9e-4731-85f5-c6c8d56336ee":{"cur_cfg":245}}}
OVSDB JSON 747 ed1135e1b8ed6befbdd49a2437950912ae5b05c2
{"_date":1650512702790,"Open_vSwitch":{"0246e022-ca9e-4731-85f5-c6c8d56336ee":{"next_cfg":246}},"Interface":{"63604ec9-7d51-474e-8617-f3137d5f31c0":{"type":"dpdk","ofport_request":1,"name":"dpdk1","options":["map",[["dpdk-devargs","0000:00:0a.0"]]]}},"Bridge":{"2bf3a41e-0786-4e57-8a68-520b997b2761":{"ports":["set",[["uuid","664ba2d6-1238-4ddc-9131-0803e81896ef"],["uuid","959c5e26-058b-4ddc-8715-dfc8e2090d09"],["uuid","cadd2f4a-4858-4f8a-b00a-8cf3718a6a62"]]]}},"Port":{"959c5e26-058b-4ddc-8715-dfc8e2090d09":{"name":"dpdk1","interfaces":["uuid","63604ec9-7d51-474e-8617-f3137d5f31c0"]}},"_comment":"ovs-vsctl
(invoked by sudo): ovs-vsctl add-port br0 dpdk1 -- set Interface dpdk1
type=dpdk ofport_request=1 options:dpdk-devargs=0000:00:0a.0"}
OVSDB JSON 162 b969bd69baeef29f6650984d64dbef17abe0ab12
{"_date":1650512702861,"Interface":{"63604ec9-7d51-474e-8617-f3137d5f31c0":{"ofport":2}},"Open_vSwitch":{"0246e022-ca9e-4731-85f5-c6c8d56336ee":{"cur_cfg":246}}}
Ovs's flow-table is
cookie=0x0, duration=2319.958s, table=0, n_packets=74802603,
n_bytes=104773394087, in_port=dpdk2 actions=output:dpdk1
cookie=0x0, duration=2319.958s, table=0, n_packets=89, n_bytes=5572,
in_port=dpdk1 actions=output:dpdk2
ovs_log message is:
2022-04-20T14:40:10.483Z|00109|bridge|INFO|ovs-vswitchd (Open vSwitch) 2.13.0
2022-04-20T14:40:10.685Z|00110|connmgr|INFO|br0<->unix#6: 3 flow_mods in the
last 0 s (2 adds, 1 deletes)
2022-04-20T14:40:10.728Z|00111|netdev_dpdk|WARN|Failed to enable flow control
on device 0
2022-04-20T14:40:10.728Z|00112|netdev_dpdk|WARN|Failed to enable flow control
on device 1
2022-04-20T14:40:15.150Z|00001|netdev_dpdk(dpdk_watchdog1)|DBG|Port 0 Link Up -
speed 1000 Mbps - full-duplex
2022-04-20T14:40:15.151Z|00002|netdev_dpdk(dpdk_watchdog1)|DBG|Port 1 Link Up -
speed 1000 Mbps - full-duplex
2022-04-20T14:40:18.662Z|00113|memory|INFO|228596 kB peak resident set size
after 10.5 seconds
2022-04-20T14:40:18.662Z|00114|memory|INFO|handlers:2 ports:3 revalidators:2
rules:6 udpif keys:6
Could you please tell me how to solve this issue? I would appreciate it!!!
刘峰麟
北京邮电大学/研究生/计算机学院(国家示范性软件学院)
北京
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss