TCP Chimney and RSS Features May Cause Slow File Transfers or Cause Connectivity Problems

Slow file transfer and connectivity with Windows 2003 SP2, Windows 2008, SBS 2003 SP2 & SBS 2008, and Vista

Ace Fekay, MVP, MCT, MCTIP EA, MCTS Windows 2008 & Exchange 2007, MCSE & MCSA 2000/2003, MCSA Messaging
Microsoft Certified Trainer
Microsoft MVP: Directory Services

5/2009
Edit: 9/18/2009 - Reworded for syntax, as well as included a disclaimer about DC multihoming, and restructured paragraphs to be more consice.
---

Preface

You notice that network shares (UNC and mapped drives) disconnect from the server, after a server has been running for a period of time such as a couple of weeks, and in some cases with heavy usage, a few hours. A server restart temporarily fixes the issue only to return.

This may be due to the new RSS TCP Chimney Offload feature enabled on 2003 SP2 and newer servers.

You may or may not be seeing the following errors when this occurs:
System Error 64
System Error 53

 

Disclaimer based on your infrastructure configuration

I just want to point out a common configuration error before making any changes and assuming this issue is to blame on the RSS TCP Chimney feature. Any one of the following configurations can contribute or be the sole cause of this issue. Therefore, please make sure none of the following exist:

1. None of the machines (DCs, member servers and/or desktops and laptops), have been configured with an external DNS server, the router as a DNS server, or the ISP's DNS server. This can surely cause this type of issue.

2. The AD DNS domain name is not a single label name, such as "domain" and not the minimally required format of "domain.something."

3. The DCs are not multihomed. A multihomed DC means it may have more than one unteamed NIC on separate subnets or unteamed and on the same subnet, or a single NIC with more than one IP address.

4. RRAS is not installed on any of the DCs. RRAS introduces extra interfaces that get registered into DNS, which causes issues just as a multihomed DC.

For more information on DC multihoming and RRAS on a DC, and DNS implications such a configuration *will* cause, please read the following blog:

Multihomed DCs with DNS, RRAS, and/or PPPoE adapters
http://msmvps.com/blogs/acefekay/archive/2009/08/17/multihomed-dcs-with-dns-rras-and-or-pppoe-adapters.aspx


TCP Chimney Offload overview

TCP Chimney Offload is a networking technology that helps transfer the workload from the CPU to a network adapter during network data transfer. In Windows Server 2008, TCP Chimney Offload enables the Windows networking subsystem to offload the processing of a TCP/IP connection to a network adapter that includes special support for TCP/IP offload processing.

TCP Chimney Offload is available in all versions of Windows Server 2008 and Windows Vista. Both TCP/IPv4 connections and TCP/IPv6 connections can be offloaded if the network adapter supports this feature.

You must check with your network adapter vendor's documentation or support department, to find out if the adapter supports this feature or not. If not, I would suggest to disable the TCP Chimney/RSS feature in Windows.


Two ways to handle this issue

Option 1. Disable RSS using the netsh command (preferred)
Option 2. Disable RSS in the registry


Option 1

Disable RSS using the netsh command:

netsh interface tcp set global rss=disabled
netsh interface tcp set global autotuninglevel=disabled
Reboot the server

More information on RSS and TCP Chimney Offloading on a Windows 2008 server can be found at:

Information about the TCP Chimney Offload, Receive Side Scaling, and Network Direct Memory Access features in Windows Server 2008
http://support.microsoft.com/kb/951037

 

Option 2

Disable RSS in the Registry

Add a DWORD registry key value for
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableRSS
and setting it to 0.  A reboot is required to make the value go in to effect.
Set DisableTaskOffload in the Registry


Use the steps in KB904946 (link posted below) to create a DWORD value for
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DisableTaskOffload
and set it to 1. 

A reboot is required to make this value go in to effect.

More information on the registry changes can be found at:

You cannot host TCP connections when Receive Side Scaling is enabled in Windows Server 2003 with Service Pack 2
http://support.microsoft.com/kb/927695

 

More info and Related Links

Information about the TCP Chimney Offload, Receive Side Scaling, and Network Direct Memory Access features in Windows Server 2008
http://support.microsoft.com/kb/951037

You cannot host TCP connections when Receive Side Scaling is enabled in Windows Server 2003 with Service Pack 2
http://support.microsoft.com/?id=927695

Vista slow after SP2 installed on Windows 2003 Server (SBS or non-SBS) or using Windows 2008
http://msmvps.com/blogs/bradley/archive/2007/04/04/vista-slow-after-sp2-installed.aspx

Windows 2003 service pack 2 known issues on Small Business Server 2003
http://support.microsoft.com/kb/555912/en-us

Susan Bradley: Vista slow after SP2 installed
http://msmvps.com/blogs/bradley/archive/2007/04/04/vista-slow-after-sp2-installed.aspx

You experience intermittent communication failure between computers that are running Windows XP or Windows Server 2003
http://support.microsoft.com/?id=904946

Common Networking Issues After Applying Windows Server 2003 SP2 on SBS
http://blogs.technet.com/sbs/archive/2007/04/24/common-networking-issues-after-applying-windows-server-2003-sp2-on-sbs.aspx
==================================================================

Ace Fekay

Comments

Fred said:

Thank you! This appears to have fixed the problem I had with mixed (large) file copying between XP and Windows Server 2008. I used your Option 1 on the server and rebooted. It appears that both commands are important (rss and autotuninglevel).

I have heard that TCP scaling is not compatible with some network hardware, and I suspect my Linksys switch is in this category (see URL below). Thanks again, very helpful.

Linksys page on the same topic: forums.linksysbycisco.com/.../message

# October 27, 2009 2:24 AM

acefekay said:

You are welcome, Fred. I'm happy to hear it helped.

Yes, TCP scaling is not compatible with all NICs. I'm not sure if the switch specifically is a factor, having not tested that as a factor, but it could be.

Thank you for posting that link and your comments.

# November 12, 2009 6:31 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)