IPv4 Configurable Registry Settings

2/15/2013

The registry settings described in this section are configurable settings located under the HKEY_LOCAL_MACHINE\Comm\Tcpip\Parms registry key. Network adapter-specific values are listed under a subkey for each network adapter. Depending on whether the system or network adapter is Dynamic Host Configuration Protocol (DHCP)-configured, and on whether static override values have been specified, there might be adapters that have both DHCP and statically configured values. Removing a network adapter, reinserting a network adapter, or calling the appropriate IP Helper functions, is generally required for a change in any of these values to take effect.

Note

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

The following table shows the configurable registry values for the HKEY_LOCAL_MACHINE\Comm\Tcpip\Parms registry key.

Value : type Description

ArpUseEtherSNAP : REG_DWORD

Default setting is zero (0). This value can be set either to 0 (False) or 1 (True) to specify if Ethernet transmission uses SNAP encoding. Setting this value to 1 forces TCP/IP to transmit Ethernet packets by using 802.3 SNAP encoding. By default, the stack transmits packets in DIX Ethernet format. It will always receive both formats.

AutoCfg : REG_DWORD

This value can be set either to 0 (False) or to 1 (True) to specify whether Automatic IP is enabled. This value behaves as the default value for the adapter-specific setting of the same name. For example, setting this value to 1 indicates that all adapters will use having Automatic IP enabled.

DefaultTTL: REG_DWORD

Default setting is 128. The valid range for this value is 1-0xFF (hexadecimal). This value specifies the default Time To Live (TTL) value set in the header of outgoing IP packets. The TTL determines the maximum time an IP packet can live in the network without reaching its destination. It is effectively a limit on the number of routers an IP packet can pass through before they are discarded.

EnableDeadGWDetect : REG_DWORD

Default setting is 0 (False). This value can be set to either 0 (False) or 1 (True) to specify if TCP performs dead gateway detection. Set the value to 1 to enable detection. With detection enabled, TCP can ask IP to change to a backup gateway if some connections are having problems. Backup gateways can be defined by using the Route utility or the IP Helper API.

EnableDHCP : REG_DWORD

This value can be either 0 (False) or 1 (True), to specify whether DHCP is enabled. This value behaves as the default setting for the adapter-specific value of the same name. For example, setting this value to 1 indicates that all adapters will use having Automatic IP enabled.

IGMPLevel : REG_DWORD

Default setting is 2. This value can be set to 0, 1, or 2. It indicates to what extent the system can support IP multicasting and how fully it participates in the Internet Group Management Protocol (IGMP). Setting this value to 0 allows the system to provide no multicast support. Setting this value to 1 enables the system to send IP multicast packets, but not to receive them. Setting this value to 2 enables the system to send IP multicast packets and to participate fully in the IGMP to receive multicast packets.

IGMPVersion : REG_DWORD

Default setting is 4. This value can be set to 3 or 4 to specify the version of IGMP to use. For desktop compatibility, set this value to the desired version plus one.

IPEnableRouter : REG_DWORD

Default setting is 0 (False). This value can be set to either 0 (False) or 1 (True) to specify if IP routing is enabled. Setting this value to 1 (True) causes the system to route IP packets between the networks to which it is connected.

Ee494881.security(en-us,WinEmbedded.80).gifSecurity Note:
Enabling routing can potentially compromise network security.

NoIdleIfAdapter : REG_DWORD

Default setting is 0 (False). This value specifies whether the device goes into Idle mode during TCP/IP communications, and is independent of the NoIdleIfConnected value. Setting this value to 1 (True) keeps the device from going into Idle mode as long as there is a network adapter in use in the device. Setting this value to 0 (False) enables a device to be suspended when a network adapter is being used.

NoIdleIfConnected : REG_DWORD

Default setting is 1 (True). This value specifies whether the device goes into Idle mode during TCP/IP communications, and is independent of the NoIdleIfAdapter value. Setting this value to 0 (False) enables the device to enter Idle mode even in the middle of communication with another device, or over loopback. Setting this value to 1 (True) keeps the device from going into Idle mode and makes the device maintain an active TCP/IP connection, even if there is no active network adapter.

TCP1323Opts : REG_DWORD

By default, this value does not initiate options but provides them if it is requested. This value controls RFC 1323 timestamps and window-scaling options. Timestamps and window scaling are enabled by default, but can be manipulated with flag bits. Bit 0 controls window scaling, and bit 1 controls timestamps. This value can have the following settings:

  • 0 Disables RFC 1323 options
  • 1 Enables window scaling only
  • 2 Enables timestamps only
  • 3 Enables both options

Adapter-specific Values

You can configure the TCP/IP implementation for a specific network adapter that is bound to TCP/IP through the registry.

The following table shows the adapter-specific values for the HKEY_LOCAL_MACHINE\Comm\<Adapter Name>\Parms\Tcpip subkey.

Value : type Description

AutoCfg : REG_DWORD

No value (enabled). This value specifies whether Automatic IP is enabled. This value can be set either to 0 (False) or to 1 (True).

AutoInterval : REG_DWORD

Default setting is 300. This value specifies the time interval, in seconds, used to verify that a DHCP server is available to configure adapter settings for a device, for example, IP Address, SubnetMask, default gateway, DNS and WINS servers.

AutoIP : REG_SZ

This value specifies the last known AutoIP address that is used by the device. If there is no value present, a new IP address is generated.

AutoMask : REG_SZ

Default setting is 255.255.0.0. This value specifies the default subnet mask for Automatic IP.

AutoSubnet : REG_SZ

Default setting is 169.254.0.0. This value specifies the default subnet for Automatic IP.

DefaultGateway : REG_MULTI_SZ

This value specifies the list of gateways to be used to route packets that are not destined for a subnet to which the device is directly connected, and for which a more specific route does not exist. This value can be a set of valid IP addresses.

This value is configurable from the Network Connections UI.

This value overrides the DhcpDefaultGateway value. Because there is only one active default gateway for the device at any time, adding multiple addresses is only useful for redundancy.

DhcpConstantRate : REG_DWORD

This value can be either 0 (False) or 1 (True) to specify whether DHCP packets are sent at a constant rate, or a rate that is backed off exponentially. When this value is set to 1, the DHCP retransmission algorithm improves performance in wireless scenarios.

DhcpDirectRenewal : REG_DWORD

Default setting is 0. If this value is 0, DHCP traffic is broadcast. If this value is 1, the DHCP client sends request packets to the DHCP server.

DhcpFirstRetransmitInterval

Default setting is 500 milliseconds. The value can be set to any positive integer less than 8000 milliseconds.

The DHCP DISCOVER message is sent with the BROADCAST flag by default. If there is no response, the DHCP DISCOVER message is toggled to have a UNICAST flag and resent. This loop continues for six times, three messages with BROADCAST and three messages with UNICAST. The difference between each retry starts with 500 milliseconds and gets doubled each time with a max wait time of 8000 milliseconds. Because the DHCP DISCOVER packet is sent out first with the BROADCAST flag and toggles to UNICAST based on the previous retry, both scenarios are handled.

DhcpGlobalInitDelayInterval : REG_DWORD

Default setting is 0. This value specifies the global initial delay, in milliseconds, between DHCP packets that are sent. This value can be set to any positive integer.

DhcpInitDelayInterval : REG_DWORD

Default setting is 0. This value specifies the initial delay, in milliseconds, between DHCP packets that are sent. This value can be set to any positive integer.

This value overrides DhcpGlobalInitDelayInterval.

DhcpMaxRetries : REG_DWORD

Default value is 6: 3 retries for broadcast flag and 3 for unicast flag. This value defines the maximum number of attempts made to obtain a DHCP address. It can be any positive integer.

For a remotely administered device, setting a large value, such as 0xfffffffff, causes the DHCP client to be more persistent and recover after a temporary network outage.

DhcpMaxRetransmitInterval

Default setting is 64000 milliseconds. Must be set in the range from 500 through 64000 milliseconds.

See also DhcpFirstRetransmitInterval

DhcpNoMacCompare : REG_DWORD

Default setting is 0. If this value is set, the Media Access Controller (MAC) address in DHCP packets returned from the server is compared to the local interface. If the address does not match, the packet is discarded.

DhcpOptions : REG_BINARY

The valid range for this value is 1-0xFF (hexadecimal). This value specifies RFC 2132-compliant DHCP option value names for the server to retrieve. By default, Windows Embedded Compact queries for the IP address, default gateway, subnet mask, DNS server, and WINS server. The values that the server retrieves are not put under DhcpOptions unless you create the value names.

DhcpSendOptions : REG_BINARY

This value is not set by default. It specifies options to copy to the DHCP packet and send to the DHCP server. These options must be valid and recognizable by the server.

DNS : REG_MULTI_SZ

This value is not set by default. It specifies the list of valid IP addresses of available DNS servers.

Domain : REG_SZ

This value is not set by default. It specifies domain name information available from a DHCP message from the DHCP server on the network. For example, DHCP: Domain Name = example.microsoft.com.

DNSTimeOut

Default value is set to 3000. This value specifies the length of time, in milliseconds, that name resolution waits for a response from the DNS server.

DontAddDefaultGateway : REG_DWORD

Default setting is 0. This value can be either 0 (False) or 1 (True) to indicate if a default gateway should be installed for an adapter. When you install PPTP, a default route is installed for each LAN adapter. You can disable the default route on an adapter by setting this value to 1. After making the setting, you might have to configure static routes for hosts that are reached by using a router other than the default gateway.

EnableDhcp : REG_DWORD

Default setting is 0. This value can be either 0 (False) or 1 (True) to indicate if DHCP is enabled. If this value is set to 1, the DHCP client service will try to use DHCP to configure the first IP interface on this adapter.

This value is configurable from the Network Connections UI.

IPAddress : REG_MULTI_SZ

This value is not set by default. This value specifies the IP addresses of the IP interfaces to be bound to the adapter.

This value is configurable from the Network Connections UI.

MTU : REG_DWORD

Default setting is 0xFFFFFFFF. Specifies the MTU for a network interface.

The default setting enables the TCP/IP stack to select the best MTU value, depending on the network interface. For example, for Ethernet, this value is set to 1500 bytes.

Or, you can specify the MTU value in bytes that the transport transmits over the underlying network. This value overrides the default MTU for a network interface. The maximum packet size includes the transport header.

The minimum value is 68. Setting a value smaller than 68 will result in the transport that uses an MTU of 68.

An IP datagram can span multiple packets. Values larger than the default for the underlying network will result in the transport that uses the network default MTU.

SubnetMask : REG_MULTI_SZ

This value is not set by default. It specifies the subnet masks to be used with the IP interfaces bound to the adapter. This value can be any set of valid IP addresses.

This value is configurable from the Network Connections UI).

TcpDelAckTicks : REG_DWORD

Default setting is 2. This value can be any number from 2 to 6. It specifies the number of milliseconds to use for the delayed-ACK timer on a per-interface basis. By default, the delayed-ACK timer is 200 milliseconds.

WINS : REG_MULTI_SZ

This value is not set by default. This value can be set to any valid IP address that indicates the WINS name server. Two WINS servers can be listed.

WinsBroadcastTimeOut : REG_DWORD

Default setting is 500. This value specifies the length of time, in milliseconds, that name resolution waits for a response to the IP subnet broadcast.

WinsTimeOut : REG_DWORD

Default setting is 2000. This value specifies the length of time, in milliseconds, that name resolution waits for a response from the WINS server.

Host Name

The host name can be configured through the HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts subkey. When an application calls gethostbyname (deprecated) or getaddrinfo, the registry is queried first, before a DNS or WINS request is sent. If the host name is found in the registry, the registry values are returned. The following table shows the values for the HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts\<Host Name> subkey.

Value : type Description

Aliases : REG_MULTI_SZ

This value specifies the aliases by which the host is known.

ExpireTime : REG_BINARY

This value specifies the expiration time for the host. The length of this value is 8 bytes. If the current time, obtained by calling GetCurrentFT, exceeds the amount set for ExpireTime, the complete Host Name subkey is deleted the next time that gethostbyname is called.

ipaddr : REG_BINARY

This value specifies the TCP/IPv4 addresses associated with the host name. The length of this value is 4 bytes per address.

ipaddr6 : REG_BINARY

This value stores the TCP/IPv6 addresses associated with the host name. The length of this value is 20 bytes per address (16 bytes for address and 4 bytes for scope ID).

AFD Registry Settings

The following table shows the value for the HKEY_LOCAL_MACHINE\Comm\AFD subkey for the Windows Embedded Compact Protocol Manager (AFD).

Value: type Description

STACKS : MULTI_SZ

By default, this value is not set and all protocol stacks are loaded during device startup. You can set this value to prevent the Bluetooth stack from loading during startup.

If the key HKEY_LOCAL_MACHINE\Comm\AFD\STACKS is there, and the value string does not contain “btd”, Bluetooth won’t be loaded.

If the key HKEY_LOCAL_MACHINE\Comm\AFD\STACKS is not there, Bluetooth will be loaded by default.

Device Name

As the OEM, you can configure the device name by setting the Name value for the HKEY_LOCAL_MACHINE\Ident key. For more information, see IPv4 Device Name Registry Settings.

See Also

Reference

IPv4 Registry Settings
IPv4 Non-Configurable Registry Settings
IPv4 and IPv6 Common Registry Settings