It turns out I was using DPDK virtio, with help from Moshin I changed the configuration and tried to repeat the tests using VPP native virtio, results are similar but there are some interesting new observations, sharing them here in case they are useful to others or trigger any ideas.
After configuring both instances to use VPP native virtio, I used the built-in echo test to see what throughput I would get, and I got the same results as the modified external tcp_echo, i.e. about 600 Mbps: * Added *dpdk { no-pci }* to startup.conf and configured the interface using *create int virtio <pci-address>* as per instructions from Moshin, confirmed settings with *show virtio pci* command * Ran the built-in test echo application to transfer 1 GB of data and got the following results: *vpp# test echo clients gbytes 1 uri tcp://10.0.0.153/5556* 1 three-way handshakes in 0.00 seconds 2288.06/s Test started at 1255.753237 Test finished at 1272.863244 1073741824 bytes (1024 mbytes, 1 gbytes) in 17.11 seconds 62755195.55 bytes/second full-duplex *.5020 gbit/second full-duplex* * I then used iperf3 with VCL on both sides and got roughly the same results (620 Mbps) * Then I rebooted the client VM and use native Linux networking on the client side with VPP on the server side, and try to repeat the iperf test * When I use VPP-native virtio on the server side, the iperf test fails, packets are dropped on the server (VPP) side, doing a trace shows packets are dropped because of "bad tcp checksum" * I then switch the server side to use DPDK virtio, the iperf test works and I get 3 Gbps throughput So, the big performance problem is on the client (sender) side, with VPP only able to get around 600 Mbps out for some reason, even when using the built-in test echo application. I'm continuing my investigation to see where the bottleneck is, any other ideas on where to look would be greatly appreciated. Also, there may be a checksum bug in the VPP-native virtio driver since the packets are not dropped on the server side when using the DPDK virtio driver. I'd be happy to help gather more details on this, create a JIRA ticket and even contribute a fix but wanted to check before going down that road, any thoughts or comments? Thanks again for all the help so far! Regards, Dom
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#14801): https://lists.fd.io/g/vpp-dev/message/14801 Mute This Topic: https://lists.fd.io/mt/65863639/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-