VMware NSX
VMware vSphere ESXi
The innermost TCP checksum is expected to be computed by vdl2 on ESXi host, which does not support offload for VXLAN packets and thus, vdl2 while adding the NSX Geneve header, will only compute checksum for the outer VXLAN header and not for the innermost TCP header.
Due to this, the Guest OS receives the packet with the pseudo checksum inserted by sender VM, and drops the same due to incorrect checksum.
This is a known limitation with vdl2.
Workaround:
Disable checksum offload on Guest OS using either of the below commands:
ethtool -K eth0 tx-udp_tnl-segmentation off tx-udp_tnl-csum-segmentation off/usr/sbin/ethtool -K eth0 tx-checksum-ip-generic off