Enabling TSO in a Windows virtual machine
search cancel

Enabling TSO in a Windows virtual machine

book

Article ID: 344070

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

This article provides instructions on enabling TCP Segmentation Offloading (TSO) for a Windows virtual machine.

Environment

VMware ESX Server 3.0.x
VMware ESX Server 3.5.x
VMware ESXi 4.0.x Installable
VMware ESXi 3.5.x Embedded
VMware vSphere ESXi 5.5
VMware ESX 4.1.x
VMware ESXi 3.5.x Installable
VMware vSphere ESXi 6.5
VMware ESXi 4.0.x Embedded
VMware ESXi 4.1.x Embedded
VMware ESXi 4.1.x Installable
VMware vSphere ESXi 5.1
VMware ESX 4.0.x
VMware ESX Server 2.1.x
VMware ESX Server 2.5.x
VMware vSphere ESXi 5.0
VMware vSphere ESXi 6.0

Resolution

TSO is available under these conditions:
  • The version of ESXi/ESX is version 2.5.x or later.
  • Your guest operating system is:
    • Windows XP Professional (Service Pack 1)
    • Windows 2000 Server and Advanced Server (Service Pack 3 or later)
    • Windows Server 2003 (Enterprise, Standard and Web Editions)
    • Windows Server 2008 (all versions)
    • Windows Server 2012 (all versions)

  • The virtual network adapter is using the vmxnet driver.

    Note: To install this device, see the ESX Server Administration Guide.

  • The virtual switch is bound to one or more of these network adapters:
    • Intel PRO/1000 with a MAC type of 82544 or greater
    • Broadcom BCM5700 series card, chip type 5702 or greater (except 5705_A0)
  1. Note: If the virtual switch is connected to more than one network adapter, the adapters must all be one of the above devices.
To use TSO, enable it in VMkernel, virtual machine, and the guest operating system.
  1. TSO is enabled for the VMkernel by default. If it is disabled on your system, you can enable it in the VMware Management Interface Advanced Settings page. Access this page by clicking the Options tab.
  2. Enable TSO for the virtual machine by powering off the virtual machine and adding this line to the configuration file (.vmx):

    ethernetn.features = "0x2"

    In this example, n is the number of the virtual Ethernet adapter.

  3. If you are running Windows 2000, you also need to enable TSO in the guest operating system by editing the Windows registry.

    1. Go to My Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters.
    2. Create the value DisableLargeSendOffload.
    3. Set the value to 0.
    4. After closing the registry, reboot the guest.
Notes:
  • The performance impact of TSO depends on specific workloads. TSO does not improve performance in all cases.
  • Choosing Enhance vmxnet (vmxnet2)/vmxnet3 NIC adapter automatically enables TSO for the guest OS in vSphere/ VI3. However, this also needs to supported by guest OS. For more information, see Choosing a network adapter for your virtual machine (1001805).