Loading

×Sorry to interrupt
CSS Error

Refresh

Cookie Preference Center

General Information on cookies

When you visit our website, we use cookies to ensure that we give you the best experience. This information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies by clicking on the different category headings to find out more and change your settings. However, blocking some types of cookies may impact your experience on the site and the services we are able to offer. Further information can be found in our

Cookie Policy.

Strictly Necessary

Strictly Necessary

Always Active

Strictly Necessary

Strictly necessary cookies are always enabled since they are essential for our website to function. They enable core functionality such as security, network management, and website accessibility. You can set your browser to block or alert you about these cookies, but this may affect how the website functions. For more information please visit www.aboutcookies.org or www.allaboutcookies.org.

Cookie Details‎

Performance

Performance

Performance

Performance cookies are used to analyze the user experience to improve our website by collecting and reporting information on how you use it. They allow us to know which pages are the most and least popular, see how visitors move around the site, optimize our website and make it easier to navigate.

Cookie Details‎

Please confirm your settings by refreshing the page.

Functional

Functional

Functional

Functional cookies help us keep track of your past browsing choices so we can improve usability and customize your experience. These cookies enable the website to remember your preferred settings, language preferences, location and other customizable elements such as font or text size. If you do not allow these cookies, then some or all of these services may not function properly.

Cookie Details‎

Advertising

Advertising

Advertising

Advertising cookies are used to send you relevant advertising and promotional information. They may be set through our site by third parties to build a profile of your interests and show you relevant advertisements on other sites. These cookies do not directly store personal information, but their function is based on uniquely identifying your browser and internet device.

Cookie Details‎

Advertising Cookies

Consent Leg.Interest

Select All Vendors

Select All Vendors

Select All Hosts

Select All

Clear Filters

Information storage and access

Apply

Confirm My Choices Reject All Allow All

Skip to main content

My Subscriptions

Loading

Knowledge Base

Enabling Support for NetQueue on Intel Gigabit adapters using the igb driver in ESX 3.5 (1009010)

Last Updated: 2/9/2012Categories: How toTotal Views: 6564Language:
English

Subscribe to get an email
newsletter with new updates

Please provide article feedback:

Details

The igb driver supports in version 1.3.8.6.3 two families of Intel Gigabit adapters.

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

This version of the driver driver utilizes VMware's NetQueue technology to enable Intel Virtual Machine Device Queues (VMDq). One main distinction between the two families is the number of receive queues supported. All adapters based on the Intel 82575 Gigabit Ethernet Controller provide 4 receive queues per port, while the adapters based on the Intel 82576 Gigabit Ethernet Controller provide 8 receive queues per port.

For products based on the Intel 82576 Gigabit Ethernet Controller, version 1.3.8.6.3 of the igb driver does not support VLAN tagging or jumbo frames when in NetQueue mode. Disable NetQueue when using VLAN tagging or jumbo frames.

These limitations do not apply to products based on the Intel 82575 Gigabit Ethernet Controller.

Solution

Ensure the correct version of the igb driver is loaded before performing these steps.

Enabling VMDq

To enable VMDq:

Enable NetQueue in VMkernel using VMware Infrastructure Client:

Choose Configuration > Advanced Settings > VMkernel.

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, see Set netPktHeapMinSize=32 and netPktHeapMaxSize=128 to Enable Jumbo Frames and NetQueue (1004593).

Verifying VMDq is enabled

To verify that VMDq has been successfully enabled:

Verify NetQueue has been enabled:

# cat /etc/vmware/esx.conf

Confirm the following line has been added into the file:

/vmkernel/netNetqueueEnabled = "TRUE"

Note: Netqueue is enabled by default on ESX 4.0.

Verify the options configured for the igb module:

# esxcfg-module -g igb

The output appears similar to:

igb enabled = 1 options = 'IntMode=3,3,3,3,3,3'

The enabled value must be equal to 1, which indicates the igb module is enabled to load automatically. IntMode must be equal to 3 and include an entry for each port desired to have VMDq on. This is a 6-port example.

Query which ports have loaded the igb driver using esxcfg-nics -l. Confirm the driver successfully claimed all supported devices present in the system (enumerate them using lspci and compare the list with the output of esxcfg-nics -l). Query the statistics using ethtool. If VMDq is enabled, statistics for multiple receive queues is shown (rx_queue_0 through rx_queue_7 in the example below).

# esxcfg-nics -l

Name PCI Driver Link Speed Duplex MTU Description
vmnic0 04:00.00 bnx2 Up 1000Mbps Full 1500 Broadcom Corporation Broadcom NetXtreme II BCM5708 1000Base-T
vmnic1 08:00.00 bnx2 Down 0Mbps Half 1500 Broadcom Corporation Broadcom NetXtreme II BCM5708 1000Base-T
vmnic2 0d:00.00 igb Up 1000Mbps Full 1500 Intel Corporation 82575GB Gigabit Network Connection
vmnic3 0d:00.01 igb Up 1000Mbps Full 1500 Intel Corporation 82575GB Gigabit Network Connection
vmnic4 0e:00.00 igb Up 1000Mbps Full 1500 Intel Corporation 82575GB Gigabit Network Connection
vmnic5 0e:00.01 igb Up 1000Mbps Full 1500 Intel Corporation 82575GB Gigabit Network Connection
vmnic6 10:00.00 igb Up 1000Mbps Full 1500 Intel Corporation 82576 Gigabit Network Connection
vmnic7 10:00.01 igb Up 1000Mbps Full 1500 Intel Corporation 82576 Gigabit Network Connection

# lspci | grep 8257[5-6]

0d:00.0 Ethernet controller: Intel Corporation 82575GB Gigabit Network Connection (rev 02)
0d:00.1 Ethernet controller: Intel Corporation 82575GB Gigabit Network Connection (rev 02)
0e:00.0 Ethernet controller: Intel Corporation 82575GB Gigabit Network Connection (rev 02)
0e:00.1 Ethernet controller: Intel Corporation 82575GB Gigabit Network Connection (rev 02)
10:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
10:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)

# ethtool -S vmnic6

NIC statistics:
rx_packets: 0
tx_packets: 0
rx_bytes: 0
tx_bytes: 0
rx_broadcast: 0
tx_broadcast: 0
rx_multicast: 0
tx_multicast: 0
rx_errors: 0
tx_errors: 0
tx_dropped: 0
multicast: 0
collisions: 0
rx_length_errors: 0
rx_over_errors: 0
rx_crc_errors: 0
rx_frame_errors: 0
rx_no_buffer_count: 0
rx_missed_errors: 0
tx_aborted_errors: 0
tx_carrier_errors: 0
tx_fifo_errors: 0
tx_heartbeat_errors: 0
tx_window_errors: 0
tx_abort_late_coll: 0
tx_deferred_ok: 0
tx_single_coll_ok: 0
tx_multi_coll_ok: 0
tx_timeout_count: 0
tx_restart_queue: 0
rx_long_length_errors: 0
rx_short_length_errors: 0
rx_align_errors: 0
tx_tcp_seg_good: 0
tx_tcp_seg_failed: 0
rx_flow_control_xon: 0
rx_flow_control_xoff: 0
tx_flow_control_xon: 0
tx_flow_control_xoff: 0
rx_long_byte_count: 0
rx_csum_offload_good: 0
rx_csum_offload_errors: 0
rx_header_split: 0
low_latency_interrupt: 0
alloc_rx_buff_failed: 0
tx_smbus: 0
rx_smbus: 0
dropped_smbus: 0
tx_queue_0_packets: 0
tx_queue_0_bytes: 0
rx_queue_0_packets: 0
rx_queue_0_bytes: 0
rx_queue_1_packets: 0
rx_queue_1_bytes: 0
rx_queue_2_packets: 0
rx_queue_2_bytes: 0
rx_queue_3_packets: 0
rx_queue_3_bytes: 0
rx_queue_4_packets: 0
rx_queue_4_bytes: 0
rx_queue_5_packets: 0
rx_queue_5_bytes: 0
rx_queue_6_packets: 0
rx_queue_6_bytes: 0
rx_queue_7_packets: 0
rx_queue_7_bytes: 0

For related information, see Enabling NetQueue on Intel Gigabit Network Devices Using the igb Driver in ESX/ESXi 4.x and ESXi 5.0 (1026094).

Detectable by VMware SkylineTM

Actions

Copy

link to clipboard
copied!

Print

Language:
English

Attachments

Additional Resources

KB
•
End Of General Availability of the Free vSphere Hypervisor (ESXi 7.x and 8.x) (2107518)

KB
•
Download and Install VMware Fusion (2014097)

Results 1-2 of 2

Ask The Community

Get answers quickly from VMware experts in the community

Post Subject

CONTINUE IN COMMUNITIES

Related Products:

VMware ESX Server

Related Versions:

VMware ESX Server 3.5.x

Take Our Survey

Was this article helpful?

YES

NO

Copyright © 2005-2024 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.

Terms of Use

Your California Privacy Rights

Privacy

Accessibility

Cookie Settings

Support Assistant