Skip Navigation LinksHome > Support > Support FAQs > How to Disable TCP Offload
How to Enable/Disable TCP Offload
Overview
Enable/Disable TCP Offload for SNP Drivers.
  Globally Enable/Disable TCP Offload
  
Interface Enable/Disable TCP Offload for Driver Version 9.1.0.1092 and Earlier.
  Interface Enable/Disable TCP Offload for Driver Version 9.1.0.1283 and Later.

Enable/Disable TCP Offload for ATCP Drivers.


NOTE: If you are experiencing problems or are having issues with another manufacturer’s TOE card and would like to try out Alacritech’s industry-leading accelerator cards for free, click here




 
Overview

When troubleshooting a problem, it is helpful to be able to eliminate variables. The primary variable that Alacritech introduces into the network environment is the TCP offload driver. Furthermore, Server 2008 ships with chimney disabled, and KB948496 for Server 2003 disables all SNP features. For these reasons, it is useful to know how to enable or disable TCP offload both globally and on a per interface basis.

For an overview of TCP chimney in Windows Server 2008, see Microsoft KB 951037

Our ATCP driver (ATCP.sys, included in Release 7 and earlier) is essentially a separate TCP stack from the Microsoft stack that enables us to offload the TCP connection to our Accelerator card (both network and iSCSI accelerators). If you disable this driver on an Alacritech interface and then reboot the system, that interface will henceforth behave as an ordinary NIC, using the Microsoft TCP stack.

Our SNP driver (slic.sys, included in Release 9 and later) hooks into the Microsoft Chimney API. Only the global change requires a reboot. The per interface change will take place immediately for 9.1.0.1092 and earlier drivers. For 9.1.0.1283 and later drivers the interface must be disabled and re-enabled for the change to take effect.


 


 
Enable/Disable TCP Offload for SNP Aware Drivers.
In Windows Scalable Networking Pack, TCP Offload can be disabled both globally and on a per interface basis.


 
Globally Enable/Disable TCP Offload for Microsoft SNP

The easiest way to globally enable or disable TCP Offload in chimney is to use the netsh command.
A reboot is required for the global change to take effect.

For Windows Vista and Server 2008, use:
  Enable:  netsh int tcp set global chimney=enabled
  Disable: netsh int tcp set global chimney=disabled

You can also look at chimney status:
	C:\Users\csl>netsh int tcp show global
	Querying active state...

	TCP Global Parameters
	----------------------------------------------
	Receive-Side Scaling State          : enabled
	Chimney Offload State               : enabled
	Receive Window Auto-Tuning Level    : disabled
	Add-On Congestion Control Provider  : ctcp
	ECN Capability                      : disabled
	RFC 1323 Timestamps                 : disabled
		

For Server 2003 and XP x64, use:
  Enable:  netsh int ip set chimney enabled
  Disable: netsh int ip set chimney disabled

Unfortunately, you can't query chimney status in Server 2003. Instead you need to query the registry either with regedit or with the reg command. Here is an example of the latter starting with TCP Offload disabled and then enabled:

	C:\Temp>reg query HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v EnableTCPChimney

	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
	    EnableTCPChimney    REG_DWORD    0x0

	C:\Temp>netsh int ip set chimney enabled
	Ok.

	C:\Temp>reg query HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v EnableTCPChimney

	HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
	    EnableTCPChimney    REG_DWORD    0x1

		
After rebooting, you can verify that connectins are being offloaded:
	C:\Temp>netstat -nt

	Active Connections

	  Proto  Local Address          Foreign Address        State           Offload State

	  TCP    172.16.50.108:1104     172.16.50.1:53         TIME_WAIT       InHost

	  TCP    192.168.50.108:1027    192.168.51.3:3260      ESTABLISHED     Offloaded

	  TCP    192.168.50.108:1028    192.168.51.3:3260      ESTABLISHED     Offloaded

		


 
Interface Enable/Disable TCP Offload for Driver Version 9.1.0.1092 and Earlier.

In the Release 9.1.0.1092 and earlier driver set, TCP Offload can be enabled/disabled on a per interface basis through the driver advanced properties pane.

    First just bring up the network interface properties and click Configure.
    Interface properties Pane

    Then go to the Advanced tab and set TCP Offload to Disabled.
    Disable TCP Offload

Once you click "OK", the change will take place immediately. Well, actually not until the properties pane is closed.


 
Interface Enable/Disable TCP Offload for Driver Version 9.1.0.1283 and Later.

For Alacritech driver version 9.1.0.1283 and later, TCP Offload can only be enabled or disabled on a per interface basis by editing the registry. The ability to change this from the driver properties will probably be added back in a later release.

Anyway, the relevant key is:
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\(instance)
Where (instance) is a four digit zero padded number, e.g. 0001,0002,...

 
The value that controls TCP Offload is:
 

TCPOffload
      Description Controls whether TCP Offload is enabled for device
      Data Type REG_SZ
      Range 0,1
      Effect TCPOffload = 0:     TCP Offload is disabled for this interface
TCPOffload = 1:     TCP Offload is enabled for this interface

This is what it looks like in regedit on server 2008
per interface Disable TCP Offload

Note that this view does not actually display the interface name. To get that, you need to find the NetCfgInstanceID. In our case, as seen in the above image, it's {B644F143-FB5A-4F57-8D56-AA39A8371225}, and look it up under the key: HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}
.

Remember the change will not take effect until the interface is disabled then re-enabled.


 


 
Enable/Disable TCP Offload for ATCP Drivers.

To disable TCP offload on an interface, bring up properties pane for that network interface and uncheck the box for the "Alacritech TCP Fast-path driver". Then close the properties pane and reboot the system.

Interface properties Pane

 

Disabling TCP Offload will result in a performance hit, so we recommend that you do this only as a troubleshooting step, or as a work around for a bug.