Microsoft KB Archive/912222

= The Microsoft Windows Server 2003 Scalable Networking Pack release =

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</li></ul>

 Microsoft Windows Small Business Server 2003 Standard Edition</li></ul>

 Microsoft Windows Storage Server 2003</li></ul> </li> Microsoft Windows Server 2003, Enterprise x64 Edition</li> Microsoft Windows XP Professional x64 Edition</li> Microsoft Windows Server 2003 R2 Datacenter x64 Edition</li> Microsoft Windows Server 2003 R2 Enterprise x64 Edition</li> Microsoft Windows Server 2003 R2 Standard x64 Edition</li> Microsoft Windows Server 2003 R2 Datacenter Edition (32-Bit x86)</li> Microsoft Windows Server 2003 R2 Enterprise Edition (32-Bit x86)</li> Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86)</li></ul>

-

<div class="notice_section">

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

<div class="summary_section">

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)

<div class="moreinformation_section">

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

Download the 912222 package now.

Windows Server 2003, x64-based versions

Download the 912222 package now.

Windows XP Professional x64 Edition

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 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 &quot;receive&quot; 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.

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:

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: &quot;STOP 0x0000008E&quot; or &quot;STOP: 0x0000003B&quot;

</li> 

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: &quot;STOP 0x000000D1&quot;

</li> 

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

</li> <li>

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

</li></ul>

<div class="references_section">