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]).

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

Reply via email to