TCP/IPv4 and TCP/IPv6 Common Registry Settings (Compact 7)

3/12/2014

The registry settings described in this section apply to both IPv4 and IPv6. Because the TCP implementations for IPv4 and IPv6 are separate, you might notice slightly different behavior when you configure these parameters for IPv4 and IPv6.

Except for the TCP/IP firewall registry entries, the parameters for IPv4 are located under the HKEY_LOCAL_MACHINE\Comm\Tcpip\Parms key. The parameters for IPv6 are located under the HKEY_LOCAL_MACHINE\Comm\Tcpip6\Parms key. The common settings must be configured under both keys for the TCP/IP implementation to work correctly on your device.

Note

The default registry values vary depending on the Catalog items that are included in your OS design.

The following table shows the registry values for the Parms registry key.

Value : type Description

ArpRetryCount: REG_DWORD

Default setting is 3. The range is 1-3. This value determines how many times TCP sends an Address Request Packet for its own address, known as a gratuitous Address Request Packet, when the service is installed. TCP sends a gratuitous Address Request Packet to determine whether the IP address to which it is assigned is already in use on the network.

DisablePowerManagement: REG_DWORD

This value is 0, False, by default. The setting indicates whether NDIS disables power management. A value of 0 indicates that NDIS registers power-manageable adapters. A value of 1 indicates that NDIS does not register the adapters, thereby disabling power management.

DisableTaskOffload: REG_DWORD

Default setting is 0 (False). This value can be either 0 (False) or 1 (True). A setting of 1 disables the offloading of processor tasks to the network adapter. Offloading some tasks to the network adapter leaves the processor free for tasks that only it can perform.

Ee495047.Caution(en-us,WinEmbedded.70).gifCaution:
Use of DisableTaskOffload will degrade performance.

DefaultTTL: REG_DWORD

Default setting is 128. The range is 1-255. This specifies the Time to Live (TTL) value in the header of outgoing IP packets. The TTL determines how long an IP packet that has not reached its destination can remain on the network before it is discarded.

For more information, see Time to Live in RFC 791 and Hop Limit in RFC 2460.

DisableDHCPMediaSense: REG_DWORD

Default setting is 0 (False). This value can be either 0 (False) or 1 (True). This setting controls the behavior of Media Sensing. By default, Media Sensing events trigger a DHCP client to take an action. For example, when a connect event occurs, the client tries to obtain a lease. When a disconnect event occurs, the client may invalidate the interface and routes. If you set this value data to 1, DHCP clients ignore Media Sensing events.

DisableIPSourceRouting: REG_DWORD

The default configuration for IPv4 networks is 1, and for IPv6 networks, the default is 0. The range is 0 - 2. IP source routing determines the IP route that a datagram follows through the network. A value of 0 indicates no additional protection, source routed packets are allowed. A value of 1 indicates medium protection, source routed packets are ignored when IP forwarding is enabled. A value of 2 indicates the highest protection, source routing is completely disabled.

DisableMediaSenseEventLog: REG_DWORD

Default setting is 0 (False). This value can be either 0 (False) or 1 (True). A setting of 0 disables the logging of DHCP Media Sense events. By default, Media Sense events (connection/disconnection from the network) are logged in the event log for troubleshooting purposes.

DisableIPSourceRouting: REG_DWORD

The default configuration is 1, True, for IPv4 networks and 0, False, for IPv6 networks. The range is 0 - 2. IP source routing determines the IP route that a datagram follows through the network. A value of 0 indicates no additional protection, source routed packets are allowed. A value of 1 indicates medium protection, source routed packets are ignored when IP forwarding is enabled. A value of 2 indicates the highest protection, source routing is completely disabled.

DisableTaskOffload: REG_DWORD

Default setting is 0 (False). This value can be either 0 (False) or 1 (True). A setting of 1 disables the offloading of processor tasks to the network adapter. Offloading is designed to optimize performance of Windows 2000.Network Driver Interface Specification (NDIS) 5.0 enables to TCP take full advantage of intelligence in network adapters by allowing the adapter to do some of the tasks that the processor normally performs. Offloading these tasks to the network adapter leaves the processor free for tasks that only it can perform.

EnableAddrMaskReply: REG_DWORD

Default setting is 0 (False). This value can be either 0 (False) or 1 (True). A setting of 0 determines whether the computer responds to the Internet Control Message Protocol (ICMP) address mask requests by sending ICMP address mask replies.

EnableBcastArpReply: REG_DWORD

Default setting is 1 (True). This value can be either 0 (False) or 1 (True). A setting of 1 directs TCP to respond to an Address Resolution Protocol (ARP) request even if the source Ethernet address in the request is not unicast. A setting of 0 directs TCP to respond only if the Ethernet address in an ARP request is unicast.

EnableDca: REG_DWORD

Default setting is 0 (False). This value can be either 0 (False) or 1 (True). A setting of 1 enables direct cache access support. Direct Cache Access (DCA) allows a capable I/O device, such as a network controller, to deliver data directly into a CPU cache. The objective of DCA is to reduce memory latency and the memory bandwidth requirement in high bandwidth (Gigabit) environments. DCA requires support from the I/O device, system chipset, and CPUs.

EnableMulticastForwarding: REG_DWORD

Default setting is 0 (False). This value can be either 0 (False) or 1 (True). The setting determines whether the computer forwards IP multicasts.

A setting of 1 enables hosts to send a datagram to multiple recipients in a single operation. The originating host transmits the IP multicast datagram as a local network multicast to all immediately neighboring members of the destination host group. Then, multicast routers on the local network forward the datagram to all other networks.

A setting of 0 specifies that the computer does not forward IP multicasts.

EnablePMTUBHDetect: REG_DWORD

Default setting is 0 (False). This value can be either 0 (False) or 1 (True). A setting of 0 disables block hole detection. TCP tries to detect black hole routers during the Path MTU (maximum transmission unit) discovery process. Enabling black hole detection increases the maximum number of times TCP retransmits a given segment.If the value of this setting is 1, TCP recognizes when it has transmitted the same segment several times without receiving an acknowledgement. It reduces the maximum segment size (MSS) to 536 bytes, and it sets the Don’t-Fragment bit. If, as a result, receipt of the segment is acknowledged, TCP continues this practice in all subsequent transmissions on the connection.

EnableTCPA: REG_DWORD

Default setting is 0 (False). NetDMA (TCPA) provides OS support for direct memory access (DMA) offload. TCP/IP uses NetDMA to relieve the CPU from copying received data into application buffers, reducing CPU load. This value can be either 0 (False) to disable or 1 (True) to enable TCPA functionality in the stack.

EnablePMTUDiscovery: REG_DWORD

Default setting is 1 (True). The default is 0. The default setting of 0 specifies that TCP uses a fixed MTU of 576 bytes. A setting of 1 specifies that TCP tries to detect the actual MTU, or largest packet size, over the path of a remote host.

EnableICMPRedirect: REG_DWORD

Default setting is 1 (True). This value can be either 0 (False) or 1 (True) to indicate if Windows should enable ICMP redirects. Setting this value to 1 causes Windows to alter the route table in response to an ICMP redirect message that is sent to it by a network device, such as a router.

EnableWsd: REG_DWORD

Default setting is 1. This value can be either 0 (False) or 1 (True). Windows scaling can automatically change its own TCP window auto-tuning behavior regardless of any user setting. A setting of 1 enables Windows scaling.

IPAutoconfigurationEnabled: REG_DWORD

Default setting is 1. This value can be either 0 (False) or 1 (True). A setting of 1 enables IP autoconfiguration for this interface.Autoconfiguration allows TCP/IP to configure an interface even when it cannot locate a Dynamic Host Configuration Protocol (DHCP) server. If TCP/IP cannot locate a DCHP server, it configures the interface by using IP addresses from the Microsoft reserved Class B network (169.254.0.0), subnet mask 255.255.0.0. During autoconfiguration, TCP/IP continues trying to locate a DHCP server, and it abandons autoconfiguration if it finds one.

IPAutoconfigurationMask: REG_SZ

Default setting is 255.0.0.0. This value stores the subnet mask that the IP autoconfiguration feature assigns to the client.

IPAutoconfigurationSubnet: REG_SZ

Default setting is 169.254.0.0. This value determines the subnet address that IP autoconfiguration uses to assign an IP address to an interface.

KeepAliveInterval: REG_DWORD

Default setting is 1000 (one second). This value specifies the interval, in milliseconds, between keep-alive retransmissions until a response is received. The valid range for this value is 1-0xFFFFFFFF (hexadecimal).

KeepAliveTime: REG_DWORD

Default setting is 7,200,000 msec (two hours). This value specifies how frequently TCP sends keep-alive transmissions. If the remote system is still reachable and functioning, it will acknowledge the keep-alive transmission. Keep-alive packets are not sent by default. An application can enable this setting for a particular connection. The valid range for this value is 1-0xFFFFFFFF (hexadecimal).

MaxUserPort: REG_DWORD

Default setting is 5000. The range is 5,000-65,534 (port number). This value specifies the highest user port number that TCP can assign when an application requests an available port from the system.

NumForwardPackets: REG_DWORD

Default setting is 1024. This value specifies the number of packets initially allocated for the TCP/IP stack forwarding buffers pool.

Use this setting to fine-tune how much memory is used for routing.

Ee495047.note(en-us,WinEmbedded.70).gifNote:
For maximum efficiency, the settings for NumForwardPackets and MaxNumForwardPackets should be equal.

OverrideDefaultAddressSelection: REG_DWORD

By default, Windows systems follow RFC 3484 for destination IP address selection, which does not honor Domain Name System (DNS) round robin. Use this setting to disable subnet prioritization.

QualifyingDestinationThreshold: REG_DWORD

The value is not set by default. Set the value to a low number, such as 3, to terminate a connection if a destination host is unreachable.

RebindOnResume: REG_DWORD

This value is not set by default. It specifies whether rebind on resume is enabled. A value of 1 indicates that NDIS unbinds and binds the adapter when a device resumes from a suspended state. This unbind and rebind process causes DHCP to renew the IP address for the adapter.

This value can be used by an adapter that does not support media indication status.

ResetOnResume: REG_DWORD

Default setting is 0. This value indicates whether NDIS unloads the miniport drivers during system suspend and resume, assuming that the card is not physically removed.

If this value is set to 1, the miniport driver remains loaded. If this value does not exist or is set to 0, and the card is not physically removed, NDIS unloads and then reloads the driver during the resume process.

This value requires the driver to have support from the OAL. The miniport driver must support MiniportResetHandler.

Ee495047.note(en-us,WinEmbedded.70).gifNote:
Multicast membership is always preserved for PCI adapters.

ResolverRetryCount: REG_DWORD

Default setting is 2. This value specifies the number of times that name resolution tries to resolve a name with DNS or WINS. This value can be any positive integer greater than or equal to 1.

TcpFinWait2Delay: REG_DWORD

Default setting is 240 seconds. The range is 30-300. This value controls how many seconds that a TCP connection waits before it is forced to close after the shutdown (s, SD_SEND) function is called. If the TCPFinWait2Delay value does not exist, you must create it as a REG_DWORD registry value.

TcpMaxConnectRetransmissions: REG_DWORD

Default setting is 2. The valid range for this value is 0-0xFF (hexadecimal). This value specifies the number of times that TCP retransmits a connect request (SYN) before canceling the attempt. The retransmission time-out is doubled with each successive retransmission in a given connect attempt.

Ee495047.note(en-us,WinEmbedded.70).gifNote:
On TCP/IPv6 networks, Neighbor Discovery (ND) can require to a minute to fail-over to another router. To enable TCP connections to survive long enough so that this fail-over has an opportunity to complete, the TcpMaxConnectRetransmissions setting does not take effect when it is below a certain value. Retransmissions will continue for one minute or until the required number of retransmissions occur, whichever time is greater.

TcpMaxDataRetransmissions: REG_DWORD

Default setting is 5. The valid range for this value is 0-0xFF (hexadecimal). This value specifies the number of times that TCP retransmits a single data segment (does not include connection request segments) before canceling the connection.

Ee495047.note(en-us,WinEmbedded.70).gifNote:
On TCP/IPv6 networks, Neighbor Discovery (ND) can require a minute to fail-over to another router. To enable TCP connections to survive long enough so that this fail-over has an opportunity to complete, the TcpMaxDataRetransmissions setting does not take effect when it is below a certain value. Retransmissions will continue for one minute or until the required number of retransmissions occur, whichever time is greater.

TcpSendQueueDelay: REG_DWORD

Default setting is 4. This value designates the time (in milliseconds) that the TCP send queue should wait to batch outgoing packets together. By batching the packets together, TCP outgoing throughput can increase for many scenarios. Value 0 will disable this feature. A larger value will allow the TCP send queue more time to batch packets together. However, this can also increase latency for outgoing packets.

TcpUseRFC1122UrgentPointer: REG_DWORD

Default setting is 0. This value can be either 0 (False) or 1 (True). A setting of 0 indicates that TCP uses the mode used by systems derived from Berkeley Software Distribution (BSD) for delivering urgent data.A setting of 1 indicates that TCP uses the specification in RFC 1122, Requirements for Internet hosts-communication layers, for urgent data.

The two modes interpret the urgent pointer in the TCP header and the length of the urgent data differently. The two modes do not interoperate.

See Also

Other Resources

TCP/IP