次の方法で共有


IPSEC_OFFLOAD_V2_ADD_SA_EX構造体 (ndis.h)

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

IPSEC_OFFLOAD_V2_ADD_SA_EX構造体は、ミニポート ドライバーが NIC に追加する必要があるセキュリティ関連付け (SA) に関する情報を定義します。

構文

typedef struct _IPSEC_OFFLOAD_V2_ADD_SA_EX {
  NDIS_OBJECT_HEADER                    Header;
  ULONG                                 NumExtHdrs;
  ULONG                                 Flags;
  union {
    struct {
      IPAddr SrcAddr;
      IPAddr DestAddr;
    } IPv4Endpoints;
    struct {
      UCHAR SrcAddr[16];
      UCHAR DestAddr[16];
    } IPv6Endpoints;
  };
  NDIS_HANDLE                           OffloadHandle;
  ULONG                                 UdpEspEncapsulation;
  IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION SecAssoc[IPSEC_OFFLOAD_V2_MAX_EXTENSION_HEADERS];
  ULONG                                 KeyLength;
  ULONG                                 KeyOffset;
  NDIS_SWITCH_PORT_ID                   SourceSwitchPortId;
  USHORT                                VlanId;
} IPSEC_OFFLOAD_V2_ADD_SA_EX, *PIPSEC_OFFLOAD_V2_ADD_SA_EX;

メンバーズ

Header

IPSEC_OFFLOAD_V2_ADD_SA_EX構造体の NDIS_OBJECT_HEADER 構造体。 Header が指定 構造体の Type メンバーを NDIS_OBJECT_TYPE_DEFAULT、Revision メンバーを NDIS_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1 に設定し、Size メンバーを NDIS_SIZEOF_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1 に設定します。

NumExtHdrs

IPsec 拡張ヘッダーの数。 このメンバーには、次のいずれかの値を指定できます。

セキュリティの種類 拡張ヘッダー
AH 認証のみ 1
ESP 認証のみ 1
ESP 暗号化のみ 1
ESP 認証と暗号化 1
AH と ESP 認証と暗号化 2
UDP ESP 1

Flags

追加される SA が受信 SA か送信 SA かを示すビットマスクを次に示します。

IPSEC_OFFLOAD_V2_IPv6

このフラグが設定されている場合、アドレスは IPv6 になります。 それ以外の場合、アドレスは IPv4 です

IPSEC_OFFLOAD_V2_INBOUND

このフラグが設定されている場合、SA は受信です。 それ以外の場合、SA は送信されます。

IPv4Endpoints

IPv4 エンドポイント アドレス。 この構造体には、次のメンバーが含まれています。

IPv4Endpoints.SrcAddr

送信元ホスト (パケットを送信しているホスト) の IPv4 アドレス。

IPv4Endpoints.DestAddr

宛先ホスト (パケットを受信しているホスト) の IPv4 アドレス。

IPv6Endpoints

IPv6 エンドポイント アドレス。 この構造体には、次のメンバーが含まれています。

IPv6Endpoints.SrcAddr[16]

送信元ホスト (パケットを送信しているホスト) の IPv6 アドレス。

IPv6Endpoints.DestAddr[16]

宛先ホスト (パケットを受信しているホスト) の IPv6 アドレス。

OffloadHandle

新しく作成された SA へのハンドル。 ミニポート ドライバーは、完了する前に、このハンドルを提供します。
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX 要求。 TCP/IP トランスポートでは、このハンドルを
NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO またはミニポート ドライバーに送信パケットを渡す前に構造体を NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO します。 TCP/IP トランスポートでは、SA を削除する際にも、このハンドルを指定する必要があります。 OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA 要求。

UdpEspEncapsulation

UDP ESP カプセル化の種類。 このメンバーには、次のフラグの 1 つ以上を指定できます。

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE

UDP カプセル化は使用されません。

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT

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

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL

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

IPSEC_OFFLOAD_V2_TRANSPORT_OVER_UDP_ESP_ENCAPSULATION_TUNNEL

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

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT_OVER_TUNNEL

パケットのトンネル モード部分は UDP カプセル化されません。 パケットのトランスポート モード部分は UDP カプセル化され、ESP で保護されます。

SecAssoc[IPSEC_OFFLOAD_V2_MAX_EXTENSION_HEADERS]

SA の IPsec 操作 (AH、ESP、またはその両方) に関する情報を含む 2 つの要素を含む配列。 指定された要素の数は、NumExtHdrs メンバーで指定されます。 各 IPsec 操作の情報は、次のように書式設定されます。 IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION 構造について、以下に説明する。

TCP/IP トランスポートは、SecAssoc でバッファー内の 1 つまたは 2 つのIPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION構造体 指定します。 各IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION構造体は、操作の種類 (認証または暗号化/暗号化解除) を示します。この構造体で指定された SA を使用します。 配列内のIPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION構造体の順序は、ミニポート ドライバーが各 SA の操作を実行する必要がある順序を示します。 サポートされている操作の組み合わせは、暗号化/復号化 (ESP) とそれに続く認証 (AH) の 1 つだけです。

KeyLength

keyOffset のバッファーの長さ (バイト単位)

KeyOffset

IPSEC_OFFLOAD_V2_ADD_SA_EX構造体の先頭から、secAssoc で指定された SA のキーを含む可変長配列の先頭までのオフセット (バイト単位)。 暗号化アルゴリズムと認証アルゴリズムの両方が、EncryptionAlgorithm および AuthenticationAlgorithm メンバーによって指定されている場合、 IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION 構造体では、keyOffset のバッファーには、一方のキー情報が格納され、その後にもう一方のキー情報が格納されます。 キーの先頭と長さは、 IPSEC_OFFLOAD_V2_ALGORITHM_INFO 構造体の KeyOffsetBytes と KeyLength メンバーをそれぞれ します。

SourceSwitchPortId

引っ込み思案。

VlanId

引っ込み思案。

備考

IPSEC_OFFLOAD_V2_ADD_SA_EX構造体は、追加する必要があるセキュリティ SA を指定します。 IPSEC_OFFLOAD_V2_ADD_SA_EX構造体は、
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX OID。

IPSEC_OFFLOAD_V2_ADD_SA_EX構造体は、SA が適用される送信元と送信先、および IP プロトコルを指定します。 このフィルターは、トランスポート モード接続 (つまり、2 つのホスト間のエンド ツー エンド接続) に関連します。 指定した接続がトンネル経由で行われる場合、トンネルの送信元アドレスと宛先アドレスが指定されます。

メンバーが 0 に設定されている場合、そのパラメーターは、指定された SA のパケットをフィルター処理するために使用されません。 たとえば、srcAddr が 0 に設定されている場合、指定した SA は、任意の送信元アドレスを含むパケットに適用できます。 すべてのフィルター パラメーターが 0 に設定されている場合、指定した SA は、任意の種類のパケットを任意の宛先ホストに送信するすべてのソース ホストに適用されます。

この構造は、以前のバージョンの IPSEC_OFFLOAD_V2_ADD_SAとほぼ同じです。 Next と keyData メンバー は削除されました。 KeyOffset、sourceSwitchPortId 、および VlanId メンバー 追加されました。

必要条件

要件 価値
サポートされる最小クライアント NDIS 6.30 以降でサポートされています。
ヘッダー ndis.h (Ndis.h を含む)

関連項目

IPSEC_OFFLOAD_V2_ADD_SA

IPSEC_OFFLOAD_V2_ALGORITHM_INFO IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO

NDIS_OBJECT_HEADER

OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA