The TCP offload engine (TOE) allows for higher performance on systems where a large amount of network traffic will take place. Basically, TOE-supporting systems shift the processing requirements on the network transport to the interface. This can make a significant difference on systems where near line speed traffic occurs.
For many Windows-based systems, TOE is not enabled by default. Enabling TOE is not as easy as it may seem, however. There are no consistent requirements to get a system supporting TOE up to speed. The process to enable TOE can touch the Windows operating system, the NIC driver, and possibly the NIC BIOS. Here are some points to get TOE running in your environment.
To get started with TOE on Windows 2003 or XP, the Windows Scalable Network Pack is required to enable support. This download Windows Server 2003 Service Pack 1 or higher and Windows XP x64 edition. Windows Server 2008 systems do not have to download a similar update, but it is not enabled by default. To enable TOE on a Windows Server 2008 system, use the following netsh command to enable it quickly:
netsh interface tcp set global chimney=enabled
For those waiting for Windows Server 2008’s highly anticipated R2 release, TOE is supported by default and no intervention is required on the operating system.
Beyond the operating system there may be additional steps required on the properties of the network adapter, the network driver tools (Intel PROSet or Broadcom BASP), or possibly in the BIOS of the NIC.
This practice should be done only on physical servers. Operating systems like VMware’s ESX and Hyper-V for Windows Server 2008 should have it enabled. Virtual Machines should use the default configuration unless the synthetic driver installation (VMware Tools, Integration Services, etc.) configures otherwise.