[dpdk-users] Virtio-user exceptional path performance
ertr at kaloom.com
Tue Sep 4 19:54:20 CEST 2018
I am testing the performance capabilities of the virtio-user exceptional path for use in container networking scenarios. I am trying to reproduce the results obtained in Test Case 1 described in the paper "VIRTIO-USER: A New Versatile Channel for Kernel-Bypass Networks". That is, I am creating two virtio-user vdevs in testpmd, putting each one in separate network namespaces and running iperf3 between the two. However, I am unable to obtain the near 25Gbps throughput shown in the paper. Instead, I obtained a mere 3Gbps. Has anyone else been able to reproduce these results? My understanding is that this type of virtual device takes advantage of both checksum offloading and LRO in order to get such high throughput. However, for some reason, I am unable to use RX checksum offloading nor LRO in my setup. If I specify the --enable-lro and --enable-rx-cksum options in testpmd (as shown here https://doc.dpdk.org/guides-17.11/howto/virtio_user_as_exceptional_path.html), the tap device is never created in the kernel. If I do not specify these options, the tap is created correctly but the rx-checksum and LRO are off and cannot be turned on using ethtool (they are marked as [fixed]).
Does anyone have any idea what may be preventing me from taking advantage of checksum offloading and LRO? Also, I am I right in assuming that this is the reason why the performance is so poor or could there be another problem with my setup? I am using DPDK 17.11 on CentOS 7.5. Any help would be appreciated.
More information about the users