Cannot disable LRO on VMXNET3 adapters in Red Hat Enterprise Linux 5.x
search cancel

Cannot disable LRO on VMXNET3 adapters in Red Hat Enterprise Linux 5.x

book

Article ID: 302420

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:
When attempting to disable LRO (Large Receive Offloading) on VMXNET3 adapters in Red Hat Enterprise Linux 5.x using these commands:

# rmmod vmxnet3
# modprobe vmxnet3 disable_lro=1


You experience these symptoms:
  • The commands run and do not report any errors.
  • LRO remains enabled, even though the commands should have disabled it.
  • The VMXNET3 module does appear to have been unloaded/reloaded.
  • Even after adding the commands to the /etc/rc.local file, LRO remains enabled after a reboot.


Environment

VMware vSphere ESXi 5.1
VMware vSphere ESXi 5.0
VMware ESXi 4.0.x Embedded
VMware ESXi 4.1.x Embedded
VMware vSphere ESXi 5.5
VMware ESX 4.0.x
VMware ESXi 4.1.x Installable
VMware ESX 4.1.x
VMware ESXi 4.0.x Installable

Cause

In RHEL 5.6, 5.7, and other versions of RHEL based on the 2.6.18.x kernel, the VMXNET3 module automatically reloads with default parameters immediately after it is unloaded. Any subsequent reload with custom parameters does not take effect because the module is already loaded and running.

Note: The ethtool command cannot be used to disable LRO with the 2.6.18.x kernel. The driver module parameters must be used to disable LRO.

Resolution

To disable LRO in these versions of RHEL, you must set disable_lro=1 in the /etc/modprobe.conf file, so that is loads with LRO in a disabled state by default.

To disable LRO on any VMXNET3 adapters in RHEL 5.x:

  1. Open the /etc/modprobe.conf file using a text editor.
  2. Add this line at the end of the file:

    options vmxnet3 disable_lro=1

  3. Save and close the file.
  4. Backup and rebuild the initrd image to make the changes persistent across reboots:

    # cp /boot/initrd-$(uname -r).img /boot/initrd-$(uname -r).img.bak
    # mkinitrd -f -v /boot/initrd-$(uname -r).img $(uname -r)


  5. Reboot the virtual machine.


Additional Information

The offloading features currently enabled on the VMXNET3 adapter can be validated in the Linux logs each time the VMXNET3 module is loaded.

For example, when LRO is disabled, the /var/log/messages file in RHEL reports an entry similar to:

features: sg csum vlan jf tso tsoIPv6 highDMA

When LRO Enabled, the /var/log/messages file reports an entry similar to:

features: sg csum vlan jf tso lro tsoIPv6 highDMA
Poor TCP performance might occur in Linux virtual machines with LRO enabled
Red Hat Enterprise Linux 5.x に搭載されている VMXNET3 アダプタの LRO を無効化できない