Saturday, October 30, 2010

VMWare ESX 3.x not able to detect Intel Gigabit adapters

Few days back, I received a customer's complaint about the VMWare ESX 3.X not able to detect the brand new Intel Network adapter. After check through the setup/configuration, I confirm there something to do with the product compatibility between this two famous company. This issue leave me no choice, but had to research by my own in order to appease this customer from bugging me through phone or email.

I'm lucky enough to get the below information within 15 mins, and I have to not only thank god, but need to thank Google - the powerful search engine as well.

From VMWare Knowledge-base, stated that the below Intel Adapter need to load the specify IGB driver, in order to get detected.

Networking devices based on the Intel® 82575 Gigabit Ethernet Controller:
  • Intel® 82575EB Gigabit Network Connection
  • Intel® 82575EB Gigabit Backplane Connection
  • Intel® Gigabit VT Quad Port Server Adapter
Networking devices based on the Intel® 82576 Gigabit Ethernet Controller:
  • Intel® 82576 Gigabit Network Connection
  • Intel® Gigabit ET Dual Port Server Adapter
  • Intel® Gigabit EF Dual Port Server Adapter

Solution from VMWare:

  • Enable NetQueue in VMkernel using VMware Infrastructure Client:

    1. Choose Configuration > Advanced Settings > VMkernel.
    2. Select VMkernel.Boot.netNetqueueEnabled.
  • Enable the igb module in the service console of the ESX host:

    # esxcfg-module -e igb
  • Set the required load option for igb to turn on VMDq:

    The option IntMode=3 must exist to indicate loading in VMDq mode. A value of 3 for the IntMode parameter specifies using MSI-X and automatically sets the number of receive queues to the maximum supported (devices based on the 82575 Controller enable 4 receive queues per port; devices based on the 82576 Controller enable 8 receive queues per port). The number of receive queues used by the igb driver in VMDq mode cannot be changed.

    For a single port, use the command:

    # esxcfg-module -s "IntMode=3" igb


    For two or more ports, use a comma-separated list of values as shown in the following example (the parameter is applied to the igb-supported interfaces in the order they are enumerated on the PCI bus):

    # esxcfg-module -s "IntMode=3,3, ... 3" igb
  • Reboot the ESX host system.

    Note: If you are using jumbo frames, you also need to change the values for
    netPktHeapMinSize to 32 and netPktHeapMaxSize to 128.

    For more information:

    one of my favorite shots during wedding day..
  • 0 comments: