Pinging with jumbo frames fail even with correct configuration in ESXi 5.5 and reports the error: sendto() failed (Message too long)
book
Article ID: 343871
calendar_today
Updated On:
Products
VMware vCenter ServerVMware vSphere ESXi
Issue/Introduction
Symptoms:
When using the vmkping command to test jumbo frame connectivity, it fails with an error similar to:
sendto() failed (Message too long)
The vmkping command includes the do not fragment flag and the maximum test size of 8972 bytes. The sytax is similar to:
# vmkping -s 8972 -d x.x.x.x
Where x.x.x.x is the IP address of a device on the network that supports an MTU of 9000.
All network devices in the layer-2 path is configured correctly for MTU 9000
More than one VMkernel port exists with an IP address in the same subnet as the destination that is being pinged
This behavior does not occur in ESXi 5.1 and earlier releases
When conducting a packet capture on the VMkernel interface that is used to ping, attempted ICMP ECHO requests are not sent out of the VMkernel interface, (nor are they making it to physical network adapter to pass to the physical network.)
In some situations, MTU 9000 traffic may fail out one or more VMkernel interfaces when multiple VMkernel ports exist in the same subnet as the destination device that is being communicated with. This can occur if MTU is changed multiple times.
Note: This KB article refers to a specific defect where all physical networking and vSphere configuration is correctly configured for Jumbo Frames. The sendto() failed (Message too long) message can be an indication of a genuine configuration problem and all components along the network path must be thoroughly checked.
Resolution
This is a known issue affecting ESXi 5.5.
Note: Be cautious when working with VMkernel ports used for iSCSI or NFS traffic. Ensure that the virtual machines are migrated, or powered off prior to deleting VMkernel ports.
To work around this issue, delete the VMkernel interfaces and then re-create without changing the MTU more than once.