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, MCT, MVP, MCITP EA, Exchange 2010 Enterprise Administrator, MCTS Windows 2008, Exchange 2010 & Exchange 2007, MCSE 2003/2000, MCSA Messaging 2003
Microsoft Certified Trainer
Microsoft MVP: Directory Services
Active Directory, Exchange and Windows Infrastructure Engineer


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

6 thoughts on “TCP Chimney and RSS Features May Cause Slow File Transfers or Cause Connectivity Problems

  1. 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: http://forums.linksysbycisco.com/linksys/board/message?board.id=Wired_Routers&thread.id=25451

  2. 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.

  3. Hi Maslok,

    These settings were intended for servers that are offering file sharing. I have not come across a situation that requires a workstation’s RSS service to be disabled, nor do I know the implications of disabling it on a workstation.

    Are you sharing out files for multiple users? If so, are they having problems accessing the files? Keep in mind, with any workstation operating system, file sharing is limited to 10 concurrent users, so if you have more than 10, the 11th user trying to connect will not be able to.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>