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

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

タスク オフロード キーワードは、細かいキーワードまたはグループ化されたキーワードの 2 つのグループのいずれかに属します。 細かいキーワードは、オフロード機能ごとのキーワードを提供します。(トランスポート レイヤーの差別化、IP プロトコルの差別化) グループ化されたキーワードは、トランスポート レイヤーでの組み合わせキーワード機能を提供します。

細かいキーワード

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

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

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

SubkeyName ParamDesc Value EnumDesc
IPChecksumOffloadIPv4 IPv4 チェックサム オフロード 0 無効
1 送信有効
2 受信有効
3 (既定値) 受信&送信有効
TCPChecksumOffloadIPv4 TCP チェックサムオフロード (IPv4) 0 無効
1 送信有効
2 受信有効
3 (既定値) 受信&送信有効
TCPChecksumOffloadIPv6 TCP チェックサムオフロード (IPv6) 0 無効
1 送信有効
2 受信有効
3 (既定値) 受信&送信有効
UDPChecksumOffloadIPv4 UDP チェックサムオフロード (IPv4) 0 無効
1 送信有効
2 受信有効
3 (既定値) 受信&送信有効
UDPChecksumOffloadIPv6 UDP チェックサムオフロード (IPv6) 0 無効
1 送信有効
2 受信有効
3 (既定値) 受信&送信有効
LsoV1IPv4 大規模送信オフロード バージョン 1 (IPv4) 0 無効
1 (既定値) Enabled
LsoV2IPv4 Large Send Offload V2 (IPv4) 0 無効
1 (既定値) Enabled
LsoV2IPv6 大規模送信オフロード 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 有効

Note

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

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

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

キーワード 説明
*TCPUDPChecksumOffloadIPv4 デバイスが、IPv4 上での IP、TCP、および UDP のチェックサムの計算を有効または無効にしたかを説明します。
*TCPUDPChecksumOffloadIPv6 デバイスが、IPv6 上での ITCP および UDP のチェックサムの計算を有効または無効にしたかを説明します。

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

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

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