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

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

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

詳細なキーワード

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

キーワード 説明
*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 有効
2 Rx 有効
3 (既定値) Rx & Tx 有効
TCPChecksumOffloadIPv4 TCP チェックサムオフロード (IPv4) 0 無効
1 Tx 有効
2 Rx 有効
3 (既定値) Rx & Tx 有効
TCPChecksumOffloadIPv6 TCP チェックサムオフロード (IPv6) 0 無効
1 Tx 有効
2 Rx 有効
3 (既定値) Rx & Tx 有効
UDPChecksumOffloadIPv4 UDP チェックサムオフロード (IPv4) 0 無効
1 Tx 有効
2 Rx 有効
3 (既定値) Rx & Tx 有効
UDPChecksumOffloadIPv6 UDP チェックサムオフロード (IPv6) 0 無効
1 Tx 有効
2 Rx 有効
3 (既定値) Rx & Tx 有効
LsoV1IPv4 Large Send Offload Version 1 (IPv4) 0 無効
1 (既定値) Enabled
LsoV2IPv4 Large Send Offload V2 (IPv4) 0 無効
1 (既定値) Enabled
LsoV2IPv6 Large Send Offload V2 (IPv6) 0 無効
1 (既定値) Enabled
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 オフロード機能を登録するには、ミニポート ドライバーは、表示されない設定を含め、初期化時にレジストリからすべての詳細な設定を読み取る必要があります。

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

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

キーワード 説明
*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 が有効
TCPUDPChecksumOffloadIPv6 TCP/UDP チェックサム オフロード (IPv6) 0 無効
1 Tx Enabled
2 Rx Enabled
3 (既定値) Tx & Rx が有効

有効にできるオフロードの組み合わせには制限があります。 たとえば、ミニポート アダプターが 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 オフロードが有効になります。