Configuring the speed and duplex of an ESXi or ESX host network adapter


From Source: KC 1004089


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

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


ESXi/ESX recommended settings for Gigabit-Ethernet speed and duplex while connecting to a physical switch port:

  • Auto Negotiate <-> Auto Negotiate (For 1 Gbps)
  • Auto Negotiate <-> Auto Negotiate (For 10 Gbps, supported only by ESXi/ESX 3.5 Update 1 and above)

Note: Many drivers do not support forced 1000Mbps or 10000Mbps speeds, and require the auto-negotiation set for this to work correctly. Auto-negotiation is considered as the normal and official way that both Gigabit and 10-Gigabit networking is designed to function. For more information, see the IEEE 802.3ab, 802.3an, and 802.3ae standards. Many drivers do not allow forced 1000Mbps or 10000Mbps because it is not officially supported by the IEEE standards.

When working with 10 GB Fiber Channel over Ethernet (FCoE) configurations, Auto Negotiatemay or may not be supported or recommended. For more information, consult your networking equipment vendor or administrator.

  • 1000 MB / Full Duplex <-> 1000 MB / Full Duplex
  • VMware does not recommend mixing a hard-coded setting with Auto-negotiate
  • Fast Ethernet – 100 MB /Full Duplex <-> 100 MB /Full Duplex
  • For more information on Virtual Switch properties, see the Editing Virtual Switch properties section in the vSphere Networking Guide.

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/ESX Gigabit-Ethernet Interface cards and physical Gigabit 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 after an ESXi/ESX upgrade 3.5 – setting the configuration to Auto Negotiate seems to resolve 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 ESX server host and the physical switch port to which it connects to 100 / Full when using 100 MB links with an ESX server host.

Configuring the speed and duplex of the ESXi/ESX server network adapter using the vSphere / Virtual Infrastructure Client

To configure the speed and duplex of the ESXi/ESX host network adapter using the vSphere Client:

  1. Log in to the ESXi/ESX host using the vSphere Client as the root user or a user with equivalent permissions.
  2. Highlight the ESXi/ESX server host and click the Configuration tab.
  3. Click the Networking link.
  4. Click Properties next to the appropriate virtual switch.
  5. Click the Network Adapters tab.
  6. Highlight the desired network adapter, and click Edit.
  7. Select appropriate speed and duplex from the dropdown.

Note: To use the vSphere Web Client to modify physical network adapter speed, see the Change the Speed of a Physical Adapter section in the vSphere 6.0 Networking Guide.

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

  • esxcfg-nics <options> [nic]The esxcfg-nics command provides information about the physical NICs in use by the VMkernel.This prints the VMkernel name for the NIC, its PCI ID, driver, link state, speed, duplex, and a short PCI description of the card. It also allows users to set speed and duplex settings for a specific NIC.


    • -s –speed speed
      Set the speed at which a given card should run. It must be one of 10, 100, 1000, or 10000.
    • -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: For information on ESX 2.5 and earlier, see Setting Network Adapter Speed in ESX Server (813).

Configuring the speed and duplex of the ESXi/ESX host network adapter at the service console

To configure the speed and duplex of the host network adapter using the service console:

  1. Log in to the ESXi/ESX host as the root user.
  2. To list the available network adapters and their current settings, run this command:[[email protected] root]# esxcfg-nics -lName PCI Driver Link Speed Duplex Description
    vmnic0 04:04.00 tg3 Up 1000Mbps Full BCM5780 Gigabit Ethernet
    vmnic1 04:04.01 tg3 Up 1000Mbps Full BCM5780 Gigabit Ethernet
  3. These examples illustrate how to change the speed and duplex of a host network adapter:
    • Configure vmnic1 for auto negotiation:[[email protected] root]# esxcfg-nics -a vmnic1 
    • Force vmnic1 to operate at 100 / Full:[[email protected] root]# esxcfg-nics -s 100 -d full vmnic1
      Note: Type esxcfg-nics without parameters to get full usage information.
  4. For ESXi 5.0, use this command:esxcli network nic set -n vmnic# -S speed -D duplex