Microsoft KB Archive/912222

From BetaArchive Wiki

Article ID: 912222

Article Last Modified on 10/11/2007



APPLIES TO

  • Microsoft Windows Server 2003 SP1, when used with:
    • Microsoft Windows Server 2003, Enterprise Edition
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Web Edition
    • Microsoft Windows Small Business Server 2003 Premium Edition
    • Microsoft Windows Small Business Server 2003 Standard Edition
    • Microsoft Windows Storage Server 2003
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows Server 2003 R2 Datacenter x64 Edition
  • Microsoft Windows Server 2003 R2 Enterprise x64 Edition
  • Microsoft Windows Server 2003 R2 Standard x64 Edition
  • Microsoft Windows Server 2003 R2 Datacenter Edition (32-Bit x86)
  • Microsoft Windows Server 2003 R2 Enterprise Edition (32-Bit x86)
  • Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86)



Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry


INTRODUCTION

This article describes the Microsoft Windows Server 2003 Scalable Networking Pack release. This is an out-of-band (OOB) release. The Windows Server 2003 Scalable Networking Pack is released for the following stock-keeping units (SKU):

  • Microsoft Windows Server 2003 Service Pack 1 x86
  • Microsoft Windows Server 2003 Service Pack 1 x64
  • Microsoft Windows XP x64

The Windows Server 2003 Scalable Networking Pack contains stateful and stateless offloads to accelerate the Windows network stack. The update includes the following features:

  • TCP Chimney offload
  • Receive Side Scaling (RSS)
  • Network Direct Memory Access (NetDMA)


MORE INFORMATION

Service pack information

This update is included in Microsoft Windows Server 2003 Service Pack 2. For more information about the latest service pack for Windows Server 2003, click the following article number to view the article in the Microsoft Knowledge Base:

889100 How to obtain the latest service pack for Windows Server 2003


Update information

The following files are available for download from the Microsoft Download Center:


Windows Server 2003
[GRAPHIC: Download]Download the 912222 package now.

Windows Server 2003, x64-based versions
[GRAPHIC: Download]Download the 912222 package now.

Windows XP Professional x64 Edition
[GRAPHIC: Download]Download the 912222 package now.

Release Date: May 23, 2006

For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to obtain Microsoft support files from online services


Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.

Prerequisites

This feature pack requires hardware that is capable of supporting offload technologies as specified in this article. Without the appropriate offload hardware, no performance gains will be seen by using this feature pack.

Restart requirement

You must restart the computer after you apply this update.

Update replacement information

This update does not replace any other updates.

File information

The English version of this update has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.

Windows Server 2003, x64-based versions
File name File version File size Date Time Platform SP requirement Service branch
Afd.sys 5.2.3790.2670 299,008 29-Mar-2006 04:23 x64 SP1 SP1QFE
Http.sys 5.2.3790.2670 537,600 29-Mar-2006 04:23 x64 SP1 SP1QFE
Ifmon.dll 5.2.3790.2670 175,616 29-Mar-2006 04:23 x64 SP1 SP1QFE
Ndis.sys 5.2.3790.2670 379,392 29-Mar-2006 04:23 x64 SP1 SP1QFE
Netbt.sys 5.2.3790.2670 379,904 29-Mar-2006 04:23 x64 SP1 SP1QFE
Netsh.exe 5.2.3790.2670 115,200 29-Mar-2006 04:23 x64 SP1 SP1QFE
Netstat.exe 5.2.3790.2670 47,616 29-Mar-2006 04:23 x64 SP1 SP1QFE
Tcpip.sys 5.2.3790.2670 812,544 29-Mar-2006 04:23 x64 SP1 SP1QFE
W03a2409.dll 5.2.3790.2670 24,576 29-Mar-2006 04:23 x64 SP1 SP1QFE
Wshtcpip.dll 5.2.3790.2670 29,696 29-Mar-2006 04:23 x64 SP1 SP1QFE
Wifmon.dll 5.2.3790.2670 137,728 29-Mar-2006 04:23 x86 SP1 WOW
Wnetsh.exe 5.2.3790.2670 86,528 29-Mar-2006 04:23 x86 SP1 WOW
Wnetstat.exe 5.2.3790.2670 36,352 29-Mar-2006 04:23 x86 SP1 WOW
Ww03a2409.dll 5.2.3790.2670 24,064 29-Mar-2006 04:23 x86 SP1 WOW
Wwshtcpip.dll 5.2.3790.2670 18,944 29-Mar-2006 04:23 x86 SP1 WOW
Windows Server 2003 with SP1, 32-bit versions
File name File version File size Date Time Platform SP requirement Service branch
Afd.sys 5.2.3790.2670 152,064 29-Mar-2006 05:04 x86 SP1 SP1QFE
Http.sys 5.2.3790.2670 290,304 29-Mar-2006 05:04 x86 SP1 SP1QFE
Ifmon.dll 5.2.3790.2670 137,728 29-Mar-2006 07:36 x86 SP1 SP1QFE
Ndis.sys 5.2.3790.2670 212,480 29-Mar-2006 05:04 x86 SP1 SP1QFE
Netbt.sys 5.2.3790.2670 179,712 29-Mar-2006 05:04 x86 SP1 SP1QFE
Netsh.exe 5.2.3790.2670 86,528 29-Mar-2006 04:43 x86 SP1 SP1QFE
Netstat.exe 5.2.3790.2670 36,352 29-Mar-2006 04:44 x86 SP1 SP1QFE
Tcpip.sys 5.2.3790.2670 386,048 29-Mar-2006 05:04 x86 SP1 SP1QFE
W03a2409.dll 5.2.3790.2670 24,064 29-Mar-2006 04:34 x86 SP1 SP1QFE
Wshtcpip.dll 5.2.3790.2670 18,944 29-Mar-2006 07:36 x86 SP1 SP1QFE

Windows Server 2003 Scalable Networking Pack overview

The architectural goal of the Scalable Networking initiative is to scale applications in the Windows family of operating systems to new levels of performance at a variety of cost points. Because of the variety of cost points and because of the variation in workload, the initiative includes the following two fundamental approaches:

  • Stateful offloads
  • Stateless offloads

TCP Chimney is a stateful offload. TCP Chimney offload enables TCP/IP processing to be offloaded to network adapters that can handle the TCP/IP processing in hardware. Each TCP Chimney offload-capable network adapter has a finite number of connections that it can support in hardware. TCP connections will be offloaded to hardware as long as the hardware can support these connections. After the hardware offload connection limit has been reached, all additional connections are handled by the host stack.

RSS and NetDMA are stateless offloads. Where multiple CPUs reside in a single computer, the Windows networking stack limits "receive" protocol processing to a single CPU. RSS resolves this issue by enabling the packets that are received from a network adapter to be balanced across multiple CPUs. NetDMA allows for a Direct Memory Access (DMA) engine on the Peripheral Component Interconnect (PCI) bus. The TCP/IP stack can use the DMA engine to copy data instead of interrupting the CPU to handle the copy operation.

The following table describes the interactions between the various components of the Windows Server 2003 Scalable Networking Pack.

TCP Chimney RSS NetDMA
TCP Chimney Will work Will work Will not work (see the note that follows this table)
RSS Will work Will work Will work
NetDMA Will not work (see the note that follows this table) Will work Will work

Note NetDMA will not work on TCP Chimney offload-capable network adapters. NetDMA requires that the incoming network adapter compute the RSS Hash. The incoming network adapters do not have to implement RSS in hardware.

The Windows Server 2003 Scalable Networking Pack updates the Network Driver Interface Specification (NDIS). After you install the update, there is no user interface to configure the options that are associated with the Windows Server 2003 Scalable Networking Pack. By default, the options are turned on. You can configure the options by using the Netsh.exe tool or by using the registry.

TCP Chimney offload and NetDMA will not work with the following features:

  • Windows Firewall
  • Internet Protocol security (IPsec)
  • Internet Protocol Network Address Translation (IPNAT)
  • Third-party firewalls
  • NDIS 5.1 intermediate drivers

If any one of these features is turned on, TCP Chimney offload and NetDMA will not work regardless of the registry settings.

By default, the IP NAT and IPsec Policy Agent features are turned on when certain components such as bridging and routing services are enabled. Therefore, TCP Chimney and NetDMA will not function in such a scenario. When the bridging and routing services are disabled, IPNAT is not turned off. Therefore, TCP Chimney or NetDMA is not re-enabled. The IP NAT and IPsec Policy Agent features must be explicitly turned off before TCP Chimney or NetDMA can function.

Windows Server 2003 Scalable Networking Pack usage

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

After you restart the server and turn on TCP Chimney offload by using the Netsh.exe tool, nine global registry entries are available under the following registry subkey:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters


The nine global registry entries are as follows:

  • EnableTCPChimney

Type: REG_DWORD
Values: 1 (enabled) 0 (disabled))

  • EnableRSS

Type: REG_DWORD
Values: 1 (enabled) 0 (disabled))

  • EnableTCPA

Type: REG_DWORD
Values: 1 (enabled) 0 (disabled))

  • OffloadExcludeDestinationPorts

Type: REG_MULTI_SZ

  • OffloadIncludeDestinationPorts

Type: REG_MULTI_SZ

  • OffloadExcludeSourcePorts

Type: REG_MULTI_SZ

  • OffloadIncludeSourcePorts

Type: REG_MULTI_SZ

  • MinPacketSizeToDma

Type: REG_DWORD
Values: 128 – 4096
Default value: 256

  • DmaSyncCompletionHighThreshold

Type: REG_DWORD
Values: 0 – 87600
Default value: 0

The EnableTCPChimney global registry value enables the TCP Chimney functionality in the stack. Similarly, the EnableRSS and EnableTCPA global registry values enable the RSS functionality and the TCPA functionality in the stack.

The MinPacketSizeToDma global registry value configures the minimum packet size that would trigger usage of DMA. We recommend that you leave the default value for this setting.

If the space that remains in a posted TCP buffer is less than the DmaSyncCompletionHighThreshold global registry value, TCP will wait for the NetDMA operation to be completed synchronously. If the value of the DmaSyncCompletionHighThreshold global registry value is zero, TCP does not wait for the synchronous NetDMA operation to finish.

The REG_MULTI_SZ values are applicable only to TCP Chimney offload. For the REG_MULTI_SZ registry values, you can type port numbers between 1 and 65,535. Port numbers are separated by spaces or by commas. Each registry value enables a maximum of 12 ports to be specified. If a port number is incorrect, it will be ignored.

The port policy that is set by using the registry values is evaluated as follows:

  • The exclusion lists are examined first. If a source or destination port is present in the exclusion list, it will not be offloaded.
  • The inclusion lists are examined next. The OFFLOAD_PREFERRED flag is set on the connections in the inclusion lists. This setting keeps the destination port offloaded.

The only dynamic option that does not require a restart is to turn on and turn off TCP Chimney. To dynamically turn on TCP Chimney by using the Netsh.exe tool, follow these steps:

  1. Click Start, click Run, type cmd, and then click OK.
  2. At the command prompt, type Netsh int ip set chimney ENABLED, and then press ENTER.

To turn off TCP Chimney by using the Netsh.exe tool, follow these steps:

  1. Click Start, click Run, type cmd, and then click OK.
  2. At the command prompt, type Netsh int ip set chimney DISABLED, and then press ENTER.

Windows Server 2003 Scalable Networking Pack open issues

Third-party firewall vendors cannot connect to the Windows networking stack by using undocumented APIs when TCP Chimney offload is enabled.

TCP/IP statistics that are obtained from offload-capable hardware will be double counted if the following conditions are true:

  • The TCP Chimney offload functionality is turned off by using the EnableTCPChimney registry entry.
  • The TCP Chimney offload functionality is turned off by using the Netsh int ip set chimney DISABLED command.



Note When you install Scalable Networking Pack, you may experience the problems that are described in the following Microsoft Knowledge Base articles:

  • 918564 Error message after you install the Windows Server 2003 Scalable Networking Pack in Windows Server 2003 R2: "STOP 0x0000008E" or "STOP: 0x0000003B"

  • 919948 Error message after you install the Windows Server 2003 Scalable Networking Pack and then change the network settings on a Windows Server 2003 R2-based computer: "STOP 0x000000D1"

  • 921136 Failover process does not occur when you use TCP Offload-enabled network adapters to create a team capable of TCP Offloading on a Windows Server 2003-based computer

  • 918369 The sockdie process may leak memory when you use the Sockdie utility with the –maxtput switch in Windows Server 2003 R2


REFERENCES

To download white papers that provide more information about scalable networking, visit the following Microsoft Web site:

To download the "Scalable Networking with RSS" white paper, visit the following Microsoft Web site:

To download the "Scalable Networking: Network Protocol Offload - Introducing TCP Chimney" white paper, visit the following Microsoft Web site:

To download the "Windows Scalable Networking Initiative" white paper, visit the following Microsoft Web site:

For more information, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates



Additional query words: SNP, TOE, Receive Side Scaling, Net DMA

Keywords: kbbug kbfix kbqfe kbpubtypekc kbhotfixserver kbwinserv2003sp2fix KB912222