NDIS_IPSEC_OFFLOAD_V2 構造体 (ntddndis.h)

[IPsec タスク オフロード機能は非推奨であり、使用しないでください。]

NDIS_IPSEC_OFFLOAD_V2構造体は、インターネット プロトコル セキュリティ (IPsec) バージョン 2 のタスク オフロード機能に関する情報 をNDIS_OFFLOAD 構造体に提供します。

構文

typedef struct _NDIS_IPSEC_OFFLOAD_V2 {
  ULONG   Encapsulation;
  BOOLEAN IPv6Supported;
  BOOLEAN IPv4Options;
  BOOLEAN IPv6NonIPsecExtensionHeaders;
  BOOLEAN Ah;
  BOOLEAN Esp;
  BOOLEAN AhEspCombined;
  BOOLEAN Transport;
  BOOLEAN Tunnel;
  BOOLEAN TransportTunnelCombined;
  BOOLEAN LsoSupported;
  BOOLEAN ExtendedSequenceNumbers;
  ULONG   UdpEsp;
  ULONG   AuthenticationAlgorithms;
  ULONG   EncryptionAlgorithms;
  ULONG   SaOffloadCapacity;
} NDIS_IPSEC_OFFLOAD_V2, *PNDIS_IPSEC_OFFLOAD_V2;

メンバー

Encapsulation

IPsec オフロードでサポートされている MAC カプセル化の種類。 このメンバーの詳細については、次の「備考」セクションを参照してください。

IPv6Supported

IPv6 トラフィックでの IPsec オフロード処理がサポートされている場合に TRUE に設定されるブール値。 それ以外の場合、このメンバーは FALSE です

IPv4Options

NIC が IPv4 オプションを使用してパケットの IPsec オフロードをサポートしている場合に TRUE に 設定されるブール値。 それ以外の場合、このメンバーは FALSE です

IPv6NonIPsecExtensionHeaders

NIC が IPsec ヘッダーに加えて IPsec 以外の IPv6 拡張ヘッダーを持つパケットの IPsec オフロード処理をサポートしている場合に TRUE に設定されるブール値。 それ以外の場合、このメンバーは FALSE です

Ah

NIC が認証ヘッダー (AH) セキュリティ ペイロードを含む送受信パケットに対して IPsec オフロード操作を実行できる場合に TRUE に 設定されるブール値。 それ以外の場合、このメンバーは FALSE です

Esp

NIC がカプセル化セキュリティ ペイロード (ESP) を含む送受信パケットに対して IPsec オフロード操作を実行できる場合に TRUE に 設定されるブール値。 それ以外の場合、このメンバーは FALSE です

AhEspCombined

NIC が AH ペイロードと ESP ペイロードの両方を含む送受信パケットに対して IPsec オフロード操作を実行できる場合に TRUE に 設定されるブール値。 それ以外の場合、このメンバーは FALSE です

Transport

NIC が送受信パケットのトランスポート モード部分のセキュリティ ペイロードを処理できる場合に TRUE に 設定されるブール値。 (パケットのトランスポート モード部分は、エンド ツー エンド接続に関連します)。それ以外の場合、このメンバーは FALSE です

Tunnel

NIC が送受信パケットのトンネル モード部分のセキュリティ ペイロードを処理できる場合に TRUE に 設定されるブール値。 (パケットのトンネル モード部分は、トンネル接続に関連します)。それ以外の場合、このメンバーは FALSE です

メモ IPsec レイヤーが IPsec タスク オフロード インターフェイス経由でトンネル パケットを送信する場合、IPsec レイヤーは、それらのパケットに対して大きな送信オフロード (LSO) が使用されないようにします。
 

TransportTunnelCombined

NIC がトランスポート モード部分と送受信パケットのトンネル モード部分の両方のセキュリティ ペイロードを処理できる場合に TRUE に 設定されるブール値。 それ以外の場合、このメンバーは FALSE です。 パケットのトランスポート モード部分は、エンド ツー エンド接続に関連します。 パケットのトンネル モード部分は、トンネル接続に関連します。

LsoSupported

NIC が大きな送信オフロード (LSO) をサポートしている場合に TRUE に 設定されるブール値。 それ以外の場合、このメンバーは FALSE です。 NIC の LSO 機能は、NDIS_OFFLOAD構造体の LsoV1 または LsoV2 メンバーで指定されていることに注意してください。 LsoSupported フラグは、接続が IPsec で保護されている場合に、それらのメンバーで指定された機能も有効であることを示します。

ExtendedSequenceNumbers

NIC で IPsec 拡張シーケンス番号がサポートされている場合に TRUE に 設定されるブール値。 それ以外の場合、このメンバーは FALSE です

UdpEsp

NIC が解析できる UDP カプセル化 ESP データ パケットの種類。 UDP カプセル化の種類の詳細については、「 UDP-ESP カプセル化の種類」を参照してください。 このメンバーには、次のフラグを 1 つ以上指定できます。

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE

IPsec オフロード処理は、UDP カプセル化の種類では使用できません。

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT

IPsec オフロードは、UDP によってカプセル化された ESP カプセル化トランスポート モード パケットでサポートされます。

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL

IPsec オフロードは、UDP カプセル化されたパケットのトンネル モード部分でサポートされます。 パケットのトランスポート モード部分は UDP カプセル化されておらず、ESP で保護されていません。

IPSEC_OFFLOAD_V2_TRANSPORT_OVER_UDP_ESP_ENCAPSULATION_TUNNEL

IPsec オフロードは、UDP カプセル化されたパケットのトンネル モード部分でサポートされます。 パケットのトランスポート モード部分は UDP カプセル化されていませんが、ESP で保護されています。

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT_OVER_TUNNEL

IPsec オフロードは、UDP カプセル化されていないパケットのトンネル モード部分でサポートされます。 パケットのトランスポート モード部分は、UDP カプセル化され、ESP で保護されます。

AuthenticationAlgorithms

NIC がサポートする IPsec 認証アルゴリズムを識別するビット マスク。 ミニポート ドライバーは、次の値のビットごとの OR を指定します。

IPSEC_OFFLOAD_V2_AUTHENTICATION_MD5

NIC では、暗号化チェックサムを計算または検証するために、キー付きメッセージ ダイジェスト 5 (MD5) アルゴリズムを使用できます。

IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_1

NIC では、暗号化チェックサムを計算または検証するために、セキュリティで保護されたハッシュ アルゴリズム (SHA) 1 アルゴリズムを使用できます。

IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_256

NIC では、暗号化チェックサムを計算または検証するために SHA 256 アルゴリズムを使用できます。

IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_128

NIC では、暗号化チェックサムを計算または検証するために、Advanced Encryption Standard - Galois/Counter Mode (AES-GMAC) 128 アルゴリズムを使用できます。

IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_192

NIC では、暗号化チェックサムを計算または検証するために AES-GMAC 192 アルゴリズムを使用できます。

IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_256

NIC では、暗号化チェックサムを計算または検証するために AES-GMAC 256 アルゴリズムを使用できます。

EncryptionAlgorithms

NIC がサポートする IPsec 暗号化アルゴリズムを識別するビット マスク。 このビット マスクは、次の値のビットごとの OR です。

IPSEC_OFFLOAD_V2_ENCRYPTION_NONE

NIC は null 暗号化を使用できます。つまり、ESP ペイロードは暗号化なしで、認証情報を使用します。

IPSEC_OFFLOAD_V2_ENCRYPTION_DES_CBC

NIC では、ESP ペイロードの暗号化と暗号化解除に DES アルゴリズムを使用できます。

IPSEC_OFFLOAD_V2_ENCRYPTION_3_DES_CBC

NIC では、ESP ペイロードの暗号化と暗号化解除に triple-DES アルゴリズムを使用できます。

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_128

NIC では、暗号化チェックサムの暗号化と計算、ESP ペイロードの暗号化チェックサムの暗号化解除と検証に AES-GCM 128 アルゴリズムを使用できます。 このアルゴリズムは結合モード アルゴリズムであることに注意してください。

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_192

NIC では、暗号化チェックサムの暗号化と計算、ESP ペイロードの暗号化チェックサムの暗号化解除と検証に AES-GCM 192 アルゴリズムを使用できます。 このアルゴリズムは結合モード アルゴリズムであることに注意してください。

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_256

NIC では、暗号化チェックサムの暗号化と計算、ESP ペイロードの暗号化チェックサムの暗号化解除と検証に AES-GCM 256 アルゴリズムを使用できます。 このアルゴリズムは結合モード アルゴリズムであることに注意してください。

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_128

NIC では、ESP ペイロードの暗号化と復号化に Advanced Encryption Standard - 暗号ブロック チェーン モード (AES-CBC) 128 アルゴリズムを使用できます。

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_192

NIC では、ESP ペイロードの暗号化と暗号化解除に AES-CBC 192 アルゴリズムを使用できます。

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_256

NIC は、ESP ペイロードの暗号化と復号化に AES-CBC 256 アルゴリズムを使用できます。

SaOffloadCapacity

NIC にオフロードできる SA バンドル (ESP または AH またはその両方を含む可能性があります) の数。 TCP/IP は、オフロードされた SA バンドルの数を保持し、ミニポート ドライバーが報告した SA バンドルの最大数を超える数を追加しないでください。

注釈

NDIS 6.1 以降のバージョンでは、NDIS_IPSEC_OFFLOAD_V2構造体は、NDIS_OFFLOAD構造体の IPsecV2 メンバーで使用されます。 NDIS_IPSEC_OFFLOAD_V2構造体は、ミニポート アダプターが IPsec オフロード処理に提供する現在またはサポートされている機能を指定します。

メモIPsec タスク オフロードをサポートするには、ミニポート ドライバーはトンネル メンバーで TRUE を指定する必要があります。
 
NDIS_OFFLOADは、 NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES 構造、 NDIS_BIND_PARAMETERS 構造、 NDIS_FILTER_ATTACH_PARAMETERS 構造、 OID_TCP_OFFLOAD_CURRENT_CONFIG OID、および NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 状態を示します。

OID_TCP_OFFLOAD_CURRENT_CONFIGの場合、NDIS_OFFLOAD構造体は、ミニポート アダプターがサポートするタスク オフロード機能を指定します。 現在のオフロード機能が変更された場合、ミニポート ドライバーは、 の新しい機能を報告します。 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 状態を示します。

NDIS_IPSEC_OFFLOAD_V2 の カプセル化 メンバーは、ミニポート アダプターが IPsec オフロードにサポートする MAC カプセル化を定義します。

への応答として、クエリ要求OID_TCP_OFFLOAD_CURRENT_CONFIG、NDIS はカプセル化メンバーで、サポートされているカプセル化設定を示すカプセル化フラグのビットごとの OR を提供します。 ミニポート ドライバーは、イーサネット カプセル化 (NDIS_ENCAPSULATION_IEEE_802_3) を提供する必要があります。 その他の種類のカプセル化は省略可能です。

の場合 状態表示NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 、ミニポート ドライバーは、カプセル 化メンバーで 現在の機能を示すカプセル化フラグのビットごとの OR を提供します。

カプセル化メンバーには、次のフラグが定義されています。

要件

要件
サポートされている最小のクライアント NDIS 6.1 以降でサポートされています。
Header ntddndis.h (Ndis.h を含む)

こちらもご覧ください

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_IPSEC_OFFLOAD_V1

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OFFLOAD

NDIS_OID_REQUEST

NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG

NET_BUFFER_LIST

OID_TCP_OFFLOAD_CURRENT_CONFIG