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. Thanks, Param