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 です。
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 オフロード処理に提供する現在またはサポートされている機能を指定します。
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 を含む) |