Disabling the TCPChimney During IIS 6.0 Troubleshooting
Update:
I think the best advice (as of 2012) is found here:
https://www.windowsitpro.com/article/networking/give-microsofts-scalable-networking-pack-140350
and
https://support.microsoft.com/kb/942861
==========================================
I've become quick to consider disabling the TCP off-loading engine features (or “TOE”) when trouble-shooting a problem involving IIS 6.0 and detecting the slightest hint of a "networking problem" or "communication problem." With the right combination of NIC, NIC driver level, and OS level, TOE is a good thing which significantly improves the performance of TCP processing. Windows can offload the TCP processing of some network streams to the network controller. But under some circumstances (especially with outdated NIC drivers) strange networking problems can result.
THREE CHECKS
The TOE features are enabled in Windows when either the earlier Scalable Networking Pack (kb 912222) or Service Pack 2 for Win2003 or are installed on a Windows 2003 server. The TOE features are disabled whenever update 948496 is applied. Here are three things you might consider checking:
(1) If the file version of %windir%\system32\netsh.exe is 5.2.3790.2670 or higher it is possible that TOE is enabled. If the version number is 5.2.3790.1860 (SP1) or lower the TOE features need not be worried about.
(2) Open the registry editor, navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters and focus on the following values: EnableTCPChimney, EnableTCPA, and EnableRSS. If all three are set to a value of Zero, consider TOE disabled. If they’re all set to 1, I’d recommend you consider disabling them during troubleshooting.
(3) Try running “netstat –t” from the command prompt to attempt to see if any client connections are in the offloaded state
TWO METHODS of DISABLING
One of the three TOE features can be disabled ‘on the fly’ and may be the first place to start. Disabling the TCPChimney (but not RSS or TCPA) is often sufficient to deal with problems related to TOE. But not always. To disable the TCPChimney, open a command prompt and run the following command on the server:
C:\>Netsh int ip set chimney DISABLED
No reboot is needed. No IISRESET is needed either.
A more thorough (and much more preferable) alternative to using the netsh command would be to open the registry, navigate to. . .
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
… and change the dword values to zero for the following three keys from 1 to 0:
o "EnableTCPChimney"=dword:00000000
o "EnableTCPA"=dword:00000000
o "EnableRSS"=dword:00000000
A reboot is needed for these registry value changes to take effect.
When troubleshooting what seems like a networking problem, the disabling of TOE features should be done not just on the front end web servers but also on ISA servers, any middle tier web service servers, the back-end SQL servers, and perhaps even the domain controllers—any machine that is running Win2003 with SP2 might be a good candidate. If you need to disable the TOE features on multiple servers, consider deploying update 948496.
If disabling the TCPChimney seems to fix the problem, leave it disabled at least long enough to update your NIC drivers and firmware. If your NIC is a Broadcom NIC, I’d definitely recommend considering the updating drivers from https://www.broadcom.com/support/ethernet_nic/downloaddrivers.php. The NIC driver version numbers need to be version 3.7.19 or higher.
References:
-
https://support.microsoft.com/default.aspx/kb/948496 - An update to turn off default SNP features is available
https://support.microsoft.com/default.aspx?scid=kb;EN-US;912222 - The Microsoft Windows Server 2003 Scalable Networking Pack release
https://support.microsoft.com/?id=945977 - Some problems occur after installing Windows Server 2003 SP2
https://support.microsoft.com/?id=942861 - Error message when an application connects to SQL Server on a server that is running Windows Server 2003: "General Network error," "Communication link failure," or "A transport-level error"
https://www.microsoft.com/whdc/device/network/TCP_Chimney.mspx - Scalable Networking: Network Protocol Offload - Introducing TCP Chimney
https://blogs.msdn.com/jamesche/ - Having Network Problems on Win2003 SP2?
https://msexchangeteam.com/archive/2007/07/18/446400.aspx - Windows 2003 Scalable Networking pack and its possible effects on Exchange (part 1)
https://msexchangeteam.com/archive/2008/03/12/448421.aspx - Windows 2003 Scalable Networking pack and its possible effects on Exchange - Part 2
https://www.broadcom.com/press/release.php?id=522952 - Broadcom Demonstrates Industry's First Fully Integrated TCP/IP Offload Engine (TOE) that Supports Microsoft's TCP Chimney Architecture
https://www.broadcom.com/press/release.php?id=409783 - Broadcom to Deliver TCP/IP Offload Technology