[dpdk-dev] DPDK Virtio Checksum Errors

kumaraparameshwaran rathinavel kumaraparamesh92 at gmail.com
Mon Aug 5 20:09:40 CEST 2019

Hi All,

I had recently tried using TSO on the DPDK virtio guest driver and I get
the TCP checksum errors at the client side. I tried running iperf and
Apache bench

We have been using the same TCP/IP stack for other DPDK pmd drivers and
they are working fine. I did notice that incase of virtio alone we do
calculate the IP payload in pseudo check sum, please correct me if I am
wrong. This is the guest side implementation. Is this applicable for all
versions of qemu virtio

In the host the OVS is run in a Kolla inside container and it is in
non-dpdk mode. The tcpdump from the physical interface shows that the
packet is not modified from the way it was sent by the guest.

After the checksum errors the TCP stack of the guest  sends the MTU sized
packet for which the TSO failed and this time the checksum at the client
side did not fail. In the client I had disabled GRO and LRO, so that we
compute checksum on each frame.

Also the checksum errors are seen only when the VMs communicating are
present in different physical host, when VMs in same host I do not see any
checksum errors.

Please let me know if such issues were seen earlier and any pointers on
debugging further would be helpful.


More information about the dev mailing list