タスク オフロードを有効および無効にするレジストリ値の使用

ドライバーのタスク オフロード機能をデバッグするときに、レジストリ キー設定を使用してタスク オフロード サービスを有効または無効にすると便利な場合があります。 INF ファイルとレジストリで定義できる標準化されたキーワードがあります。 標準化されたキーワードの詳細については、「 ネットワーク デバイスの標準化された INF キーワード」を参照してください。

タスク オフロード キーワードは、粒度の細かいキーワードまたはグループ化されたキーワードの 2 つのグループのいずれかに属します。 詳細なキーワード は、オフロード機能ごとのキーワードを提供します。トランスポート層の区別、IP プロトコルの区別。 グループ化されたキーワードは 、トランスポート 層で結合されたキーワード機能を提供します。

詳細なキーワード

詳細なキーワードは次のように定義されます。

Keyword 説明
*IPChecksumOffloadIPv4 デバイスが IPv4 チェックサムの計算を有効または無効にしたかどうかを示します。
*TCPChecksumOffloadIPv4 デバイスが IPv4 パケット経由の TCP チェックサムの計算を有効または無効にしたかどうかを説明します。
*TCPChecksumOffloadIPv6 デバイスが IPv6 パケットに対する TCP チェックサムの計算を有効または無効にしたかどうかを示します。
*UDPChecksumOffloadIPv4 デバイスが IPv4 パケットに対する UDP チェックサムの計算を有効または無効にしたかどうかを示します。
*UDPChecksumOffloadIPv6 デバイスが IPv6 パケットに対する UDP チェックサムの計算を有効または無効にしたかどうかを示します。
*LsoV1IPv4 大きな送信オフロード バージョン 1 (LSOv1) に対して、デバイスが IPv4 経由の大きな TCP パケットのセグメント化を有効または無効にしたかどうかを説明します。
*LsoV2IPv4 大きな送信オフロード バージョン 2 (LSOv2) に対して、デバイスが IPv4 経由の大きな TCP パケットのセグメント化を有効または無効にしたかどうかを説明します。
*LsoV2IPv6 大きな送信オフロード バージョン 2 (LSOv2) に対して、デバイスが IPv6 経由の大きな TCP パケットのセグメント化を有効または無効にしたかどうかを説明します。
*IPsecOffloadV1IPv4 デバイスが IPv4 経由で IPsec ヘッダーの計算を有効または無効にしたかどうかを説明します。
*IPsecOffloadV2 デバイスが IPsec オフロード バージョン 2 (IPsecOV2) を有効または無効にしているかどうかを説明します。 IPsecOV2 では、追加の暗号化アルゴリズム、IPv6、および大規模な送信オフロード バージョン 2 (LSOv2) との共存がサポートされます。
*IPsecOffloadV2IPv4 デバイスが IPv4 専用の IPsecOV2 を有効または無効にするかどうかを説明します。

次の表では、オフロード サービスの構成に使用できる詳細なキーワードについて説明します。

SubkeyName ParamDesc EnumDesc
IPChecksumOffloadIPv4 IPv4 チェックサム オフロード 0 無効
1 Tx Enabled
2 Rx Enabled
3 (既定値) Rx & Tx が有効
TCPChecksumOffloadIPv4 TCP チェックサムオフロード (IPv4) 0 無効
1 Tx Enabled
2 Rx Enabled
3 (既定値) Rx & Tx が有効
TCPChecksumOffloadIPv6 TCP チェックサムオフロード (IPv6) 0 無効
1 Tx Enabled
2 Rx Enabled
3 (既定値) Rx & Tx が有効
UDPChecksumOffloadIPv4 UDP チェックサムオフロード (IPv4) 0 無効
1 Tx Enabled
2 Rx Enabled
3 (既定値) Rx & Tx が有効
UDPChecksumOffloadIPv6 UDP チェックサムオフロード (IPv6) 0 無効
1 Tx Enabled
2 Rx Enabled
3 (既定値) Rx & Tx が有効
LsoV1IPv4 Large Send Offload Version 1 (IPv4) 0 無効
1 (既定値) 有効
LsoV2IPv4 Large Send Offload V2 (IPv4) 0 無効
1 (既定値) 有効
LsoV2IPv6 Large Send Offload V2 (IPv6) 0 無効
1 (既定値) 有効
IPsecOffloadV1IPv4 IPsec オフロード バージョン 1 (IPv4) 0 無効
1 認証ヘッダーが有効
2 ESP が有効
3 (既定値) 認証ヘッダー & ESP が有効
IPsecOffloadV2 IPsec オフロード 0 無効
1 認証ヘッダーが有効
2 ESP が有効
3 (既定値) 認証ヘッダー & ESP が有効
*IPsecOffloadV2IPv4 IPsec オフロード (IPv4 のみ) 0 無効
1 認証ヘッダーが有効
2 ESP が有効
3 (既定値) 認証ヘッダー & ESP が有効

注意

INF ファイルは、UI の [詳細プロパティ] ページに表示される詳細なキーワードをサポートできます。 ミニポート ドライバーは、NDIS オフロード機能を登録するために、表示されない設定を含む、初期化時にレジストリからすべての詳細な設定を読み取る必要があります。

グループ化されたキーワード

グループ化されたキーワードは、次のように定義されます。

Keyword 説明
*TCPUDPChecksumOffloadIPv4 デバイスが IPv4 経由で IP、TCP、UDP チェックサムの計算を有効または無効にしたかどうかを説明します。
*TCPUDPChecksumOffloadIPv6 デバイスが IPv6 経由で TCP および UDP チェックサムの計算を有効または無効にしたかどうかを説明します。

次の表では、オフロード サービスの構成に使用できるグループ化されたキーワードについて説明します。

SubkeyName ParamDesc EnumDesc
TCPUDPChecksumOffloadIPv4 TCP/UDP チェックサム オフロード (IPv4) 0 無効
1 Tx Enabled
2 Rx Enabled
3 (既定値) Tx & Rx Enabled
TCPUDPChecksumOffloadIPv6 TCP/UDP チェックサム オフロード (IPv6) 0 無効
1 Tx Enabled
2 Rx Enabled
3 (既定値) Tx & Rx Enabled

有効にできるオフロードの組み合わせには制限があります。 たとえば、ミニポート アダプターが LSOV1 または LSOV2 をサポートしている場合、ミニポート アダプターは IP チェックサムと TCP チェックサムも計算します。 オフロードの有効な組み合わせの詳細については、「 タスク オフロードの種類の組み合わせ」を参照してください。

タスク オフロード サービスがレジストリ キー設定で無効になっている場合、プロトコル ドライバーは 、OID_OFFLOAD_ENCAPSULATION オブジェクト識別子 (OID) を発行できません。

次のレジストリ値を使用して、TCP/IP プロトコルのタスク オフロードを有効または無効にすることができます。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters\DisableTaskOffload
この値を 1 に設定すると、TCP/IP トランスポートからすべてのタスク オフロードが無効になります。 この値を 0 に設定すると、すべてのタスク オフロードが有効になります。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Ipsec\EnabledOffload
この値を 0 に設定すると、TCP/IP トランスポートからのインターネット プロトコル セキュリティ (IPsec) オフロードが無効になります。 TCP/IP チェックサム タスク、大規模送信オフロード バージョン 1 (LSOV1)、および大規模送信オフロード バージョン 2 (LSOV2) のオフロードは影響を受けません。 この値を 1 に設定すると、IPsec オフロードが有効になります。