ESXi recommended settings for speed and duplex while connecting to a physical switch port are listed below. Keep in mind the hardware vendor is the best vendor to recommend specific parameters for NICs.
Auto Negotiate
To configure the speed and duplex of the ESXi host network adapter using the vSphere Client:
esxcfg-nics [nic]
For example:
esxcfg-nics vmnic0 -a
Command Options:
-s --speed speed - Set the speed at which a given card should run.
-d --duplex duplex - Set the duplex value which a given card should run.
-a --auto - Set the given NIC to auto-negotiate its speed and duplex settings.
-l --list - List the NICs in the system, and print their current and configured speed and duplex.
-r --restore - Restore NIC settings from persistent storage. This should only be used only on system startup and should not be used by users.
Note: When working with 10 Gigabit Fiber Channel over Ethernet (FCoE) configurations, Auto Negotiate may or may not be supported or recommended. For more information, consult your networking equipment vendor or administrator.
A common issue with speed/duplex is when the duplex settings are mismatched between two switches, between a switch and a router or between the switch and a workstation or server. This can occur when manually hard coding the speed and duplex or from auto negotiation issues between the two devices.
Auto negotiation is recommended on ESXi Ethernet Interface cards and physical switch ports for these reasons:
Note: The PAUSE frame is a packet that tells the far-end device to stop the transmission of packets until the receiver is able to handle all the traffic and clear its buffers. The PAUSE frame has a timer included, which tells the far-end device when to start to send packets again. If that timer expires without getting another PAUSE frame, the far-end device can then send packets again. Flow Control is an optional item and must be negotiated. Devices can be capable of sending or responding to a PAUSE frame, and it is possible they will not agree to the flow-control request of the far-end.
Fast Ethernet – 100 / Full 100 / Full: VMware recommends forcing the network adapter on the ESXi server host and the physical switch port to which it connects to 100 / Full when using 100 Megabit links with an ESXi server host.
If the above speed/duplex settings do not resolve issues with speed on the vmnic, please contact your hardware vendor.
The most commonly used setting would be auto negotiation, because you always want the hypervisor and the physical switch to be on the same page, regarding speed of transmission.
If, for example, you have an existing configuration which is negotiating at 100 Megabits per second, and you change the hypervisor to force the speed to be 1 Gigabit per second, and the ESXi host disconnects, then this is evidence that the physical switch is incapable of transmitting at the higher speed.
In this case, the vendor of your physical switch should be consulted to validate whether or not your physical switch is capable of handling the higher speed.
Regardless, auto negotiation is the best practice.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The esxcli command for setting the speed and duplex mode of a physical NIC on an ESXi host.
esxcli network nic set -n <NIC> -S <Speed> -D <Duplex>
Parameters:
<NIC>: The name of the NIC (e.g., vmnic0).
<Speed>: The desired speed in Mbps (e.g., 1000 for 1Gbps, 10000 for 10Gbps, etc.)
<Duplex>: The duplex setting, either full or half.
Example:
To set vmnic0 to 1Gbps with full duplex:
esxcli network nic set -n vmnic0 -S 1000 -D full