Knowledge Base
The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides

|
Poor TCP performance may occur in Linux virtual machines with LRO enabled (1027511)
Details
Solution
This issue does not generally affect Linux virtual machines on ESXi 5.0. Also ensure your Linux virtual machines have VMware Tools version 5 installed.
VMware recommends that you disable Large Receive Offload functionality for virtual interfaces in Linux virtual machines on ESXi/ESX 4.0 if you notice poor TCP performance.
On virtual machines using VMXNET3 virtual network devices and running a guest OS with Linux kernel 2.6.24 or later, use the
ethtool command to disable Large Receive Offload.To disable Large Receive Offload using the
ethtool command:- Use the
ethtoolcommand to disable LRO for each VMXNET virtual network interface:# ethtool -K ethX lro off
For example:# ethtool -K eth0 lro off
Note: The configuration change made with theethtoolcommand does not persist across a reboot. To persist across a reboot, add theethtoolcommand to a startup script such asrc.local.
For virtual machines running an earlier version of the Linux kernel or using VMXNET2 devices, disable Large Receive Offload by setting the module load time parameter for the
vmxnet2 or vmxnet3 Linux driver to include disable_lro=1.To set the module load time parameter:
Note: These steps may not work for RedHat Enterprise Linux/CentOS 5.x virtual machines when updating the
/etc/modprobe.conf file.- Using a text editor, open the
/etc/modulesor/etc/modules.conffile used by the Linux distribution. - Locate the alias entry for the VMXNET or VMXNET3 driver:
alias eth0 vmxnet
oralias eth0 vmxnet3
- Append an
optionsentry to disable LRO on a new line under thealias.
For example:alias eth0 vmxnetoptions vmxnet disable_lro=1
oralias eth0 vmxnet3options vmxnet3 disable_lro=1
- Save the configuration file.
- Reboot the Linux virtual machine for the changes to take effect.
To disable LRO on these versions on Linux:
- Using a text editor, open the
/etc/rc.localfile and add these two lines to the file:rmmod vmxnet
modprobe vmxnet disable_lro=1
- Save the configuration file.
- Run both commands from the command line or reboot the virtual machine for the changes to take effect.
Additional Information
Using promiscuous mode in the Linux virtual machine leads to resolving the performance issue too because activating this mode leads to disabling LRO.
Request a Product Feature
To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.
Actions
KB:
- Updated:
- Categories:
- Languages:
- Product Family:
- Product(s):
- Product Version(s):

