Troubleshooting VXLAN vmknic

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>


vmkping ++netstack=vxlan <vmknic IP> -d -s <packet size>


esxcli network diag ping --netstack=vxlan --host <vmknic IP> --df --size=<packetsize>


If the ping fails, launch another one without the don’t fragment/size argument set

ping ++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 🙂



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s