Configuring the speed and duplex of an ESXi host network adapter
search cancel

Configuring the speed and duplex of an ESXi host network adapter

book

Article ID: 324544

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

Configuring the speed and duplex of a network adapter link is important for reliable network operation.

This article provides information on configuring these parameters on an ESXi host.

Note: If the following changes do not present the correct speed to the ESXi host, then the hardware vendor must be contacted.

Environment

VMware ESXi

Resolution

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:
  1. Log in to the ESXi host using the vSphere Client as the root user or a user with equivalent permissions.
  2. Highlight the ESXi server host and click the Configure tab.
  3. Click the Physical Adapters tab.
  4. Highlight the desired network adapter, and click Edit.
  5. Select appropriate speed and duplex from the dropdown.

About the esxcfg-nics command, which is used to configure Network Interface Cards

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.

Duplex Mismatch

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.

The advantages of utilizing auto negotiation on Gigabit-Ethernet Interfaces

Auto negotiation is recommended on ESXi Ethernet Interface cards and physical switch ports for these reasons:
  • Although hard coding the speed and duplex will work and is in the documentation, in some cases there are performance issues in ESXi. Setting the configuration to Auto Negotiate resolves these performance issues.
  • It resolves issues with iSCSI, vMotion, network performance, and related network issues.
  • Duplex settings: While Cisco devices only support full duplex, the IEEE 802.3z standard does have support for half duplex Gigabit-Ethernet. Because of this, duplex is negotiated between Gigabit-Ethernet devices.
  • Flow Control: Because of the amount of traffic that can be generated by Gigabit-Ethernet, there is a PAUSE functionality built into Gigabit-Ethernet.
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.

Workaround:

If the above speed/duplex settings do not resolve issues with speed on the vmnic, please contact your hardware vendor.
 
Also check that the driver on the NIC is up to date - see Download and install async drivers in VMware ESXi for more information on how to check the driver and update it if necessary.

Additional Information

NOTE:  

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