On Tue, Sep 04, 2018 at 05:54:20PM +0000, Eric Tremblay wrote: > Hello, > > 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]).
Somehow below fix isn't backported to 17.11 while the commit it fixed was backported. https://git.dpdk.org/dpdk/commit/?id=bce7e9050f9b commit bce7e9050f9b ("net/virtio-user: fix start with kernel vhost") Please apply above fix locally and see if it works. Thanks > > 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. > > Regards, > > Eric >
