How to check MTU with ping on ESX (or any OS)

Just keep decreasing the packet size with -s flag on the ping command:

  • Note that the IP packet overhead is 20 bytes and the ICMP overhead is 8 bytes (in total 28 bytes)

  • Bellow my ping didn’t start working until -s value of 1472 of padding. Add 28 bytes of IP & ICMP overhead and we can see my network equipment running with 1500 MTU :

    [root@esxhost22 ~]# vmkping -s 1474 172.22.205.4 -v
    PING 172.22.205.4 (172.22.205.4): 1474 data bytes
    
    --- 172.22.205.4 ping statistics ---
    3 packets transmitted, 0 packets received, 100% packet loss
    *** vmkping failed! (status 3) ***
    [root@esxhost22 ~]# vmkping -s 1473 172.22.205.4 -v
    PING 172.22.205.4 (172.22.205.4): 1473 data bytes
    
    --- 172.22.205.4 ping statistics ---
    2 packets transmitted, 0 packets received, 100% packet loss
    *** vmkping failed! (status 2) ***
    [root@esxhost22 ~]# vmkping -s 1472 172.22.205.4 -v
    PING 172.22.205.4 (172.22.205.4): 1472 data bytes
    1480 bytes from 172.22.205.4: icmp_seq=0 ttl=255 time=3.879 ms
    1480 bytes from 172.22.205.4: icmp_seq=1 ttl=255 time=0.261 ms
    
    
    --- 172.22.205.4 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 0.572/0.579/0.586 ms
    [root@esxhost22 ~]#
    

Comments

comments powered by Disqus