[dpdk-dev] Wrong TCP checksum of packets sent by Linux guest (virtIO/vhost)

Xie, Huawei huawei.xie at intel.com
Wed Sep 3 13:13:09 CEST 2014



> -----Original Message-----
> From: Gray, Mark D
> Sent: Wednesday, September 03, 2014 6:01 PM
> To: Thomas Monjalon; Franck BAUDIN; Xie, Huawei
> Cc: dev at dpdk.org; dpdk-ovs at lists.01.org
> Subject: RE: [dpdk-dev] Wrong TCP checksum of packets sent by Linux guest
> (virtIO/vhost)
> 
> >
> > Hi Franck,
> >
> > 2014-09-02 13:20, Franck BAUDIN:
> > > I am using dpdk-ovs 1.1.0 (latest release) as follow :
> > >
> > > linux-guest (no DPKD) <---  virtIO ---> OVDK 1.1.0 (with latest DPDK [*]) < --
> > - Niantic --- > linux-native
> > >
> > [...]
> > > UDP/ICMP connectivity is fine, but TCP checksum of packet sent by the
> > guest are incorrect, as showed with tcpdump on linux-native.
> >
> > Thanks for reporting.
> > Could you try virtio without vhost?
> >
> >
> 
> Looping in the dpdk-ovs list.
> 
> * Does the new vhost API allow a user to know if all the relevant offloads have
> been
> turned on/off for that interface? It seems that this is possible through the
> virtio_net
> structure but it would be good to get some feedback from the relevant person
> working on DPDK (Huawei?).
> 
> * If this is the case, then it is probably in the realm of the vswitch do the actual
> checksum (for VM-VM) or correctly configure the NIC when sending out through
> the physical interface.
> 
> Comments?


Mark:
So far not supported. This is important as well in VxLan case. For the packet flow  
Guest A->  virtio -> ..->OVDK->.. -> Guest B.
1) If guest A and B are on different host machines, say A and B respectively,  and if the nic on A supports
vxlan checksum offload, then both guest and host needn't generate checksum, the nic will  
generate checksum for both inner and outer packet.
2) In VM2VM case, as it is trusted communication channel, could we negotiate with the guest tcp stack not to verify checksum 
for received packet? 

> 
> Mark


More information about the dev mailing list