If VXLAN Connectivity isn’t operational, It means if a VM on a VXLAN cannot ping another one on the same logical switch the most common reason is a misconfiguration on the transport network.
As all of you are aware VXLAN has its own vmkernel networking stack , so ping connectivity testing between two different vmknics on the transport VLAN must be done from ESXi console using the syntax below:
ping ++netstack=vxlan -d -s 1572 -I vmk3
<vmknic IP>
or vmkping ++netstack=vxlan <vmknic IP> -d -s <packet size> or esxcli network diag ping --netstack=vxlan --host <vmknic IP> --df --size=<packetsize> or
If the ping fails, launch another one without the don’t fragment/size argument setping ++netstack=vxlan -I vmk3
<vmknic IP>
If this one succeed, it means your MTU isn’t correctly set to at least 1600 on your transport network.
++netstack=vxlan -> instruct the ESXi host to use the VXLAN TCP/IP stack.
-d -> set Don’t Fragment bit on IPv4 packet
-s 1572 -> set packet size to 1572 to check if MTU is correctly setup up to 1600
-I – > VXLAN vmkernel interface name
-<vmknic IP> -> Destination ESXi host vmkernel IP Address.
If all the ping fails it’s a VLAN ID or Uplink misconfiguration. Before going any further you have to make sure that these pings works , than only we can successfully configure NSX virtual Networking.
Happy Learning 🙂