Export (0) Print
Expand All

Using Registry Values to Enable and Disable Task Offloading

When you debug a driver's task offload functionality, you might find it useful to enable or disable task offload services with a registry key setting. There are standardized keywords that you can define in INF files and in the registry. For more information about standardized keywords, see Standardized INF Keywords for Network Devices.

Task offload keywords belong to one of two groups: granular keywords or grouped keywords. Granular keywords provide keywords per offload capability--Transport Layer differentiation, IP protocol differentiation. Grouped keywords provide combined keywords capability at the transport layer.

The granular keywords are defined as follows:

*IPChecksumOffloadIPv4

Describes whether the device enabled or disabled the calculation of IPv4 checksums.

*TCPChecksumOffloadIPv4

Describes whether the device enabled or disabled the calculation of TCP Checksum over IPv4 packets.

*TCPChecksumOffloadIPv6

Describes whether the device enabled or disabled the calculation of TCP checksum over IPv6 packets.

*UDPChecksumOffloadIPv4

Describes whether the device enabled or disabled the calculation of UDP Checksum over IPv4 packets.

*UDPChecksumOffloadIPv6

Describes whether the device enabled or disabled the calculation of UDP Checksum over IPv6 packets.

*LsoV1IPv4

Describes whether the device enabled or disabled the segmentation of large TCP packets over IPv4 for large send offload version 1 (LSOv1).

*LsoV2IPv4

Describes whether the device enabled or disabled the segmentation of large TCP packets over IPv4 for large send offload version 2 (LSOv2).

*LsoV2IPv6

Describes whether the device enabled or disabled the segmentation of large TCP packets over IPv6 for large send offload version 2 (LSOv2).

*IPsecOffloadV1IPv4

Describes whether the device enabled or disabled the calculation of IPsec headers over IPv4.

*IPsecOffloadV2

Describes whether the device enabled or disabled IPsec offload version 2 (IPsecOV2). IPsecOV2 provides support for additional crypto-algorithms, IPv6, and co-existence with large send offload version 2 (LSOv2).

*IPsecOffloadV2IPv4

Describes whether the device enabled or disabled IPsecOV2 for IPv4 only.

The following table describes the granular keywords that you can use to configure offload services.

SubkeyNameParamDescValueEnumDesc

*IPChecksumOffloadIPv4

IPv4 Checksum Offload

0

Disabled

1

Tx Enabled

2

Rx Enabled

3 (Default)

Rx & Tx Enabled

*TCPChecksumOffloadIPv4

TCP Checksum Offload (IPv4)

0

Disabled

1

Tx Enabled

2

Rx Enabled

3 (Default)

Rx & Tx Enabled

*TCPChecksumOffloadIPv6

TCP Checksum Offload (IPv6)

0

Disabled

1

Tx Enabled

2

Rx Enabled

3 (Default)

Rx & Tx Enabled

*UDPChecksumOffloadIPv4

UDP Checksum Offload (IPv4)

0

Disabled

1

Tx Enabled

2

Rx Enabled

3 (Default)

Rx & Tx Enabled

*UDPChecksumOffloadIPv6

UDP Checksum Offload (IPv6)

0

Disabled

1

Tx Enabled

2

Rx Enabled

3 (Default)

Rx & Tx Enabled

*LsoV1IPv4

Large Send Offload Version 1 (IPv4)

0

Disabled

1 (Default)

Enabled

*LsoV2IPv4

Large Send Offload V2 (IPv4)

0

Disabled

1 (Default)

Enabled

*LsoV2IPv6

Large Send Offload V2 (IPv6)

0

Disabled

1 (Default)

Enabled

*IPsecOffloadV1IPv4

IPsec Offload Version 1 (IPv4)

0

Disabled

1

Auth Header Enabled

2

ESP Enabled

3 (Default)

Auth Header & ESP Enabled

*IPsecOffloadV2

IPsec Offload

0

Disabled

1

Auth Header Enabled

2

ESP Enabled

3 (Default)

Auth Header & ESP Enabled

*IPsecOffloadV2IPv4

IPsec Offload (IPv4 only)

0

Disabled

1

Auth Header Enabled

2

ESP Enabled

3 (Default)

Auth Header & ESP Enabled

 

Note  The INF file can support granular keywords that are displayed in the Advanced Property page of the UI. The miniport driver must read all of the granular settings from the registry at initialization, including settings that are not displayed, to register NDIS offload capabilities.

The grouped keywords are defined as follows:

*TCPUDPChecksumOffloadIPv4

Describes whether the device enabled or disabled the calculation of IP, TCP, and UDP checksum over IPv4.

*TCPUDPChecksumOffloadIPv6

Describes whether the device enabled or disabled the calculation of TCP and UDP checksum over IPv6.

The following table describes the grouped keywords that you can use to configure offload services.

SubkeyNameParamDescValueEnumDesc

*TCPUDPChecksumOffloadIPv4

TCP/UDP Checksum Offload (IPv4)

0

Disabled

1

Tx Enabled

2

Rx Enabled

3 (Default)

Tx & Rx Enabled

*TCPUDPChecksumOffloadIPv6

TCP/UDP Checksum Offload (IPv6)

0

Disabled

1

Tx Enabled

2

Rx Enabled

3 (Default)

Tx & Rx Enabled

 

There are restrictions on the combinations of offloads that can be enabled. For example, if a miniport adapter supports LSOV1 or LSOV2, the miniport adapter also calculates the IP and TCP checksums. For more information about valid combinations of offloads, see Combining Types of Task Offloads.

If task offload services are disabled with a registry key setting, protocol drivers must not issue the OID_OFFLOAD_ENCAPSULATION object identifier (OID).

You can use the following registry values to enable or disable task offloading for the TCP/IP protocol:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters\DisableTaskOffload

Setting this value to one disables all of the task offloads from the TCP/IP transport. Setting this value to zero enables all of the task offloads.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Ipsec\EnabledOffload

Setting this value to zero disables Internet protocol security (IPsec) offloads from the TCP/IP transport. The offloading of TCP/IP checksum tasks, large send offload version 1 (LSOV1), and large send offload version 2 (LSOV2) are not affected. Setting this value to one enables IPsec offloads.

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft