PowerEdge: Broadcom bnxtnet: How to set RSS Queues per Port in VMware ESXi
Summary: PowerEdge customers using Broadcom NXE adapters in VMware ESXi may experience unexpected results when attempting to tune port parameters. Particularly in configurations with multiple NXE adapters present, understanding the port ordering from both a VMware (vmnicX) and serverPCI-e Slot-Bus-Device-Function (SBDF) may be helpful to select the appropriate commands. ...
Symptoms
For this discussion, consider a server with three Broadcom bnxtnet based NIC devices with two ports each device. The following is a basic module parameters set command using the same RSS value for all ports, for example:
esxcfg-module -s 'RSS=4,4,4,4,4,4' bnxtnet
This results in correctly setting all ports to RSS=4
However, if attempting to set specific vmnics to different values, the port ordering becomes important.
The module parameters are applied in the order of devices sorted by the PCI SBDF (slot-bus-device-function), NOT the vmnicX ordering.
For example:
PCI SBDF |
vmnicX |
RSS Vaule Desired |
0000:1a:00.0 |
vmnic0 |
4 |
0000:1a:00.1 |
vmnic1 |
4 |
0000:86:00.0 |
vmnic4 |
4 |
0000:86:00.1 |
vmnic5 |
8 |
0000:af:00.0 |
vmnic2 |
8 |
0000:af:00.1 |
vmnic3 |
4 |
Use the configuration command:
esxcfg-module -s 'RSS=4,4,4,8,8,4' bnxtnet
NOTE: A server reboot or module unload/reload is required for the settings to take effect.
The 'disable_tpa' parameter would also work the same way:
esxcfg-module -s 'disable_tpa=4,4,4,8,8,4' bnxtnet
Also, configuration parameter commands can be grouped as one command, for example below:
esxcfg-module -s "disable_tpa=1,1,1,1,1,1 RSS=8,8,8,8,8,8" bnxtnet
Cause
Resolution
For customers reporting this issue, recommend to:
- Check the PCI SBDF and the OS vmnic ordering (using "esxcli network nic list" or other methods -TSR,
lspci, Vcenter UI, and so on). - Build the server module commands based on the PCI SBDF ordering.
- Use the server module 'get' command to ensure the correct settings per port:
esxcfg-module -g bnxtnet
vsish -e get /net/pNics/vmnicX/rxqueues/info
Alternatively, VMware allows reordering the vmnic alias mapping which is described in their KB article:
How VMware ESXi determines the order in which names are assigned to devices (2091560)
Additional Information
See the latest release notes for additional VMware commands and info:
Example: release note
Example: https://dl.dell.com/FOLDER10655246M/1/Bcom_LAN_227.1.111.3_NXE_Manual_227.1.111.3.zip