Using TCP Chimney Offload

Applies To: Windows Server 2008 R2

TCP Chimney Offload transfers Transmission Control Protocol (TCP) traffic processing, such as packet segmentation and reassembly processing tasks, from a computer’s CPU to a network adapter that supports TCP Chimney Offload. Moving TCP/IP processing from the CPU to the network adapter can free the CPU to perform more application-level functions. TCP Chimney Offload can offload the processing for both TCP/IPv4 and TCP/IPv6 connections if supported by the network adapter.


TCP Chimney Offload must be set in both the operating system and the network adapter for connection processing to be offloaded from the CPU to the network adapter.

What’s new in TCP Chimney Offload for Server 2008 R2

  • Support was added for TCP Chimney Offload in virtual machines running under Hyper-V, known as Virtual Machine Chimney. For more information, see Using Virtual Machine Chimney.

  • TCP Chimney Offload automatic mode of operation is available.

  • New Performance Monitor counters are available.

When to use TCP Chimney Offload

Because of the overhead associated with moving TCP/IP processing to the network adapter, TCP Chimney Offload offers the most benefit to applications that have long-lived connections and transfer large amounts of data. Servers that perform database replication, function as file servers, or perform backup functions are examples of computers that may benefit when you enable TCP Chimney Offload.

To determine if TCP Chimney Offload will benefit an application, run the application with TCP Chimney Offload or Virtual Machine Chimney disabled to establish a performance baseline. While the application is running, capture CPU utilization for each CPU and the network throughput. After you establish the baseline, set the operating system mode of TCP Chimney Offload to either automatic or enabled, as appropriate, and then compare the CPU utilizations and network throughput.

Operating system modes for TCP Chimney Offload

You can set TCP Chimney Offload in the operating system to function in automatic or enabled mode.

  • Automatic. In automatic mode, TCP Chimney Offload considers offloading the processing for a connection only if the following criteria are met: the connection is established through a 10 Gbps Ethernet adapter, the mean round trip link latency is less than 20 milliseconds, and at least 130 KB of data has been exchanged over the connection. In automatic mode, the TCP receive window is set to 16 MB. Because the Windows stack has performance optimizations not found in Chimney-capable network adapters, automatic mode restricts offloads only to those connections that might receive the most benefit from it.

  • Enabled. In enabled mode, TCP Chimney Offload offloads the processing for connections on a first-come, first-served basis.


For computers running Windows Server 2008 R2, TCP Chimney Offload is set to automatic mode by default. For computers running Windows Server 2008, TCP Chimney Offload is disabled by default. TCP Chimney Offload settings, nomenclature, and defaults vary for each network adapter; check your adapter’s documentation for TCP Offload capabilities and settings.

In both automatic and enabled modes, if the network adapter reaches its offload capacity, and another connection can make better use of network adapter processing, the operating system may upload the processing for an offloaded connection and then offload the processing for another connection.

In addition to setting the operating system mode, you can enable TCP Chimney Offload for all connections on a network adapter or fine-tune settings to enable TCP Chimney Offload only for designated ports and applications.

See Also


Using Virtual Machine Chimney
Using Virtual Machine Queue
Using Receive Side Scaling
Using NetDMA