According to RFC specifications, VxLAN can have zero or a non-zero checksum.
When a packet is received with a UDP checksum of zero, it MUST be accepted for decapsulation.
Optionally, if the encapsulating endpoint includes a non-zero UDP checksum, it MUST be correctly calculated across the entire packet including the IP header, UDP header, VXLAN header and encapsulated MAC frame.
When a decapsulating endpoint receives a packet with a non-zero checksum, it MAY choose to verify the checksum value.
If it chooses to perform such verification, and the verification fails, the packet MUST be dropped.
If the decapsulating destination chooses not to perform the verification, or performs it successfully, the packet MUST be accepted for decapsulation.
If the “UDP Checksum Enabled” checkbox is disabled for the VTEP device, it starts transmitting a zero checksum as the RFC states as below.
And once the checkbox is enabled, it will be correctly calculated across the entire packet including the IP header, UDP header, VXLAN header and encapsulated MAC frame as below.