i40e driver has very bad performance when VXLAN TSO is enabled
https://bugs.dpdk.org/show_bug.cgi?id=486
Bug ID: 486
Summary: i40e driver has very bad performance when VXLAN TSO is
enabled
Product: DPDK
Version: 19.11
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: critical
Priority: Normal
Component: ethdev
Assignee: [email protected]
Reporter: [email protected]Target Milestone: ---
Current OVS DPDK (DPDK 19.11.x) has supported TSO on vlan, but TSO isn't enabled on vxlan.
DPDK and pmd drivers have been ready for VXLAN TSO support, I'm trying to enable it, the first patch [1] has been posted into ovs community, it can work in term of functionality, but performance is very bad, it is about 40Mbps on two network namespaces on my two servers, I used OVS DPDK in one server, the other server used OVS kernel, performance can reach about 110Mbps when I disabled GRO on physical interface and vxlan interface (sudo ethtool -K XXX gro off), it is about 2Gbps when I disabled tso and keep tx checksum offload on (sudo ip netns exec ns02 ethtool -K veth2 tso off).
I checked my code many times, I can't find out root cause, I doubt it is i40e driver issue (I'm very sure my X710 NIC can work well in OVS kernel and vxlan tso is enabled)
[1]
https://patchwork.ozlabs.org/project/openvswitch/patch/[email protected]/
Signature · 2 lines
You are receiving this mail because: You are the assignee for the bug.
https://bugs.dpdk.org/show_bug.cgi?id=486
Xiaoyun Li ([email protected]) changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected] Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID
--- Comment #2 from Xiaoyun Li ([email protected]) ---
Using testpmd to test vxlan tso. Function works. And after comparing the perf with cases without vxlan tso, the perf is similar. Can't see obvious drop.
Tested with both 19.11 & newest commit b8d81e9cbf5e. Both work fine. So it's not a bug of i40e driver.
Test steps:
ixia generates packets with len 1500, and udp dst port 4789 (vxlan), and outer udp payload with vxlan and inner tcp packets.
ixia rx port to observe the bytes receive rate. Both cases can get about 3GBps perf (using XXV710).
If using vxlan tso:
./build/app/dpdk-testpmd -l 28,29,30,31 -n 4 -w 86:00.0 -w 86:00.1 – -i
port stop all
csum set ip hw 0
csum set udp hw 0
csum set tcp hw 0
csum set outer-ip hw 0
csum set outer-udp hw 0
csum set sctp hw 0
csum parse-tunnel on 0
csum set ip hw 1
csum set udp hw 1
csum set tcp hw 1
csum set outer-ip hw 1
csum set outer-udp hw 1
csum set sctp hw 1
csum parse-tunnel on 1
tunnel_tso set 800 1
rx_vxlan_port add 4789 0
set fwd csum
port start all
start
If without vxlan tso:
./build/app/dpdk-testpmd -l 28,29,30,31 -n 4 -w 86:00.0 -w 86:00.1 – -i
rx_vxlan_port add 4789 0
start
Signature · 2 lines
You are receiving this mail because: You are the assignee for the bug.