Home > Applications & Tools, Virtualization > vmkping: Tricks You May Not Know for ESXi Jumbo Frame Troubleshooting

vmkping: Tricks You May Not Know for ESXi Jumbo Frame Troubleshooting

August 8th, 2017 Leave a comment Go to comments

The vmkping is a built-in tool for troubleshooting connectivity in ESXi. It’s very similar to the normal ping command. The typical usage is as simple as: ping or ping . Several command arguments make it pretty powerful and you will find it an indispensible tool in troubleshooting ESX networking issues.

Before getting started, you want to find an ESXi server with SSH service open. If the ESXi is in lock down mode, you can easily unlock it from vSphere Web Client. When you can ssh to the ESXi server, you are ready to move forward.

Time to learn how to "Google" and manage your VMware and clouds in a fast and secure

HTML5 App

1. List VMKernel NICs

In most environments, you will find multiple vmkernel NICs for different usages: management, vMotion, vSAN. To test out the connectivities for the vSAN, for example, you want to use only the NIC for vSAN. To list the names of the NICs, you can use the esxcli command: (if you want to learn more about the esxcli command, check out my other article.)

[root@hq-esx001:~] esxcli network ip interface list
 
vmk0
 
   Name: vmk0
 
   MAC Address: 30:e1:71:51:6f:dc
 
   Enabled: true
 
   Portset: vSwitch0
 
   Portgroup: Management Network
 
   Netstack Instance: defaultTcpipStack
 
   VDS Name: N/A
 
   VDS UUID: N/A
 
   VDS Port: N/A
 
   VDS Connection: -1
 
   Opaque Network ID: N/A
 
   Opaque Network Type: N/A
 
   External ID: N/A
 
   MTU: 1500
 
   TSO MSS: 65535
 
   Port ID: 33554436
 
vmk1
 
   Name: vmk1
 
   MAC Address: 00:50:56:60:cf:10
 
   Enabled: true
 
   Portset: DvsPortset-5
 
   Portgroup: N/A
 
   Netstack Instance: defaultTcpipStack
 
   VDS Name: dvsStorage2
 
   VDS UUID: 50 3b 74 28 20 9e 97 6c-e1 3e bb fc 9e ba cc 1c
 
   VDS Port: 5
 
   VDS Connection: 1050942085
 
   Opaque Network ID: N/A
 
   Opaque Network Type: N/A
 
   External ID: N/A
 
   MTU: 1500
 
   TSO MSS: 65535
 
   Port ID: 83886088
 
vmk2
 
   Name: vmk2
 
   MAC Address: 00:50:56:61:ed:e1
 
   Enabled: true
 
   Portset: DvsPortset-4
 
   Portgroup: N/A
 
   Netstack Instance: vmotion
 
   VDS Name: dvsMigration2
 
   VDS UUID: 50 3b e3 77 77 b6 2a 91-01 12 04 46 aa 5d b1 c6
 
   VDS Port: 6
 
   VDS Connection: 1344398988
 
   Opaque Network ID: N/A
 
   Opaque Network Type: N/A
 
   External ID: N/A
 
   MTU: 9000
 
   TSO MSS: 65535
 
   Port ID: 67108872

2. Pick a NIC for Testing

You can find the NIC names and pick one for your vmkping command. In my case, I want to test out the vmk1, so I use the -I option followed by the vmk1 as the interface name. There are two more options: the -s is to specify the size of the packet. If you want to test out the jumbo frame like 9000, you can use a size slightly smaller than that because of the additional header; the -d tells the command NOT to split the IP packet.

The -d option is very important for testing the jumbo frame. If you don’t have this, every size will work. For example, if you don’t have MTU for jumbo frame, the larger size continues to work. That will mislead you think the jumbo frame data path works.

[root@esx001:~] vmkping -I vmk1 -s 8972 -d 192.168.252.111
 
PING 192.168.252.111 (192.168.252.111): 8972 data bytes
 
8980 bytes from 192.168.252.111: icmp_seq=0 ttl=64 time=0.208 ms
 
8980 bytes from 192.168.252.111: icmp_seq=1 ttl=64 time=0.188 ms
 
8980 bytes from 192.168.252.111: icmp_seq=2 ttl=64 time=0.188 ms
 
--- 192.168.252.111 ping statistics ---
 
3 packets transmitted, 3 packets received, 0% packet loss

3. VMotion issue

The vMotion NICs need a special option to work, otherwise the normal vmkping does not work due to different netstack. To find out what net stacks used, you can use the following command:

[root@hq-esx001:~] esxcli network ip netstack list
 
defaultTcpipStack
 
   Key: defaultTcpipStack
 
   Name: defaultTcpipStack
 
   State: 4660
 
vmotion
 
   Key: vmotion
 
   Name: vmotion
 
   State: 4660

For the vMotion NIC, you will need -S option with vmotion as its value as follows.

[root@hq-esx001:~] vmkping -I vmk2 -s 1500 192.168.101.11 -S vmotion
 
PING 192.168.101.11 (192.168.101.11): 1500 data bytes
 
1508 bytes from 192.168.101.11: icmp_seq=0 ttl=64 time=0.271 ms
 
1508 bytes from 192.168.101.11: icmp_seq=1 ttl=64 time=0.108 ms
 
1508 bytes from 192.168.101.11: icmp_seq=2 ttl=64 time=0.113 ms
 
--- 192.168.101.11 ping statistics ---
 
3 packets transmitted, 3 packets received, 0% packet loss
 
round-trip min/avg/max = 0.108/0.164/0.271 ms
  1. August 8th, 2017 at 00:54 | #1

    [DoubleCloud] vmkping: Tricks You May Not Know for ESXi Jumbo Frame Troubleshooting https://t.co/oosmKYfbnv

  2. August 8th, 2017 at 04:32 | #2

    vmkping: Tricks You May Not Know for ESXi Jumbo Frame Troubleshooting https://t.co/sG1nwebr7v #VMTN

  1. No trackbacks yet.