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 のバッファーには、一方のキー情報の後にもう一方のキー情報が格納されます。 キーの先頭と長さは、 構造体のKeyOffsetBytes メンバーと KeyLength メンバーをそれぞれIPSEC_OFFLOAD_V2_ALGORITHM_INFOします。
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 以降でサポートされています。 |
Header | ndis.h (Ndis.h を含む) |