- 
                Notifications
    
You must be signed in to change notification settings  - Fork 116
 
Description
cpu: i7-10700, memory 16GB
I create a network topology with three network namespace ns1(iface e12), ns2(iface e21, e23), ns3(iface e32). e12 <=> e21, e23 <=> e32. And I want to test the raw forward performance of afxdp program, without modifying any ethernet packet content and header, just forward.
so I modified the AF_XDP-forwarding program to load xdp kernel objs to just send packet to userspace both on e21 and e23, then I use "ip netns exec ns1 ethtool -k e12 tx off", "ip netns exec ns3 ethtool -k e32 tx off" to avoid checksum problem of tcp, also remove the MAX_BURST_TX if statement code , otherwise tcp handshake will not complete. After all these configuration, I use iperf3 at e12 as server, at e32 as client to test tcp performance from e32 to e12, through ns2.
the performance number is 3.5Gbps for a single queue, compared with kernel xdp redirect, which is 12Gbps, is quite slow. I want to know is there something not properly configured, or is this the max afxdp performance, or the max performance veth can reach, so if I can find some 10Gbps NIC support afxdp, will be faster?