[dpdk-dev] vmxnet3 TX TCP/UDP checksum not getting computed with L2_len > 14

Stephen Hemminger stephen at networkplumber.org
Sun Jun 17 18:46:26 CEST 2018


On Sun, 17 Jun 2018 14:55:06 +0530
Padam Jeet Singh <padam.singh at inventum.net> wrote:

> Hello,
> 
> Issue observed when using vmxnet3 based interface on packet with following structure is sent:
> 
> Ethernet + PPPoE + PPP (22 bytes) as the Layer 2 header, 
> IPv4 (20) 
> UDP
> DNS Payload
> 
> The tx offload value in this case is 0x0f0000000000000 (PKT_TX_IPV4  | PKT_TX_IP_CKSUM | PKT_TX_UDP_CKSUM)
> 
> The checksum of the packet seen by the receiver shows incorrect checksum and it’s value is the pseudo checksum value that was set at the time of the TX. However the IP header checksum is correct.
> 
> The same issue is not seen when the L2 header is a just the Ethernet (14 bytes).
> 
> Also, with the same setup on the same hardware if we switch the driver from vmxnet3 to e1000e, all checksums are computed correctly.
> 
> Is this a DPDK vmxnet3 driver bug or that of underlying esxi? The ESXi version is 6.0.0 (Build 3620759).
> 
> Thanks,
> Padam

I don't think VMWare supports IP checksum offload. Since IP checksum is trivial and in cache,
the IP header checksum offload is usually not a speed up anyway. Linux for example, never does
IP header checksum offload.


More information about the dev mailing list