OFFLOAD_IPSEC_ADD_UDPESP_SA 構造体 (ntddndis.h)

OFFLOAD_IPSEC_ADD_UDPESP_SA構造体には、ミニポート ドライバーが UDP カプセル化 ESP パケットを NIC に追加する各セキュリティ関連付け (SA) の情報が含まれています。

構文

typedef struct _OFFLOAD_IPSEC_ADD_UDPESP_SA {
  IPAddr                               SrcAddr;
  IPMask                               SrcMask;
  IPAddr                               DstAddr;
  IPMask                               DstMask;
  ULONG                                Protocol;
  USHORT                               SrcPort;
  USHORT                               DstPort;
  IPAddr                               SrcTunnelAddr;
  IPAddr                               DstTunnelAddr;
  USHORT                               Flags;
  SHORT                                NumSAs;
  OFFLOAD_SECURITY_ASSOCIATION         SecAssoc[OFFLOAD_MAX_SAS];
  HANDLE                               OffloadHandle;
  OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY EncapTypeEntry;
  HANDLE                               EncapTypeEntryOffldHandle;
  ULONG                                KeyLen;
  UCHAR                                KeyMat[1];
} OFFLOAD_IPSEC_ADD_UDPESP_SA, *POFFLOAD_IPSEC_ADD_UDPESP_SA;

メンバー

SrcAddr

送信元ホスト (パケットを送信するホスト) の IP アドレス。

SrcMask

ソース IP アドレスのサブネット マスク。

DstAddr

宛先ホスト (パケットを受信するホスト) の IP アドレス。

DstMask

宛先 IP アドレスのサブネット マスク。

Protocol

IP プロトコル。 Protocol のエンコードは、IP ヘッダーの [プロトコル] フィールドと同じです。 値は、UDP を指定する 11 (16 進数) である必要があります。

SrcPort

ソース TCP または UDP ポート。 SrcPort が 0 に設定されている場合、SA はすべてのソース TCP/UDP ポートに適用されます。

DstPort

宛先 TCP または UDP ポート。 DestPort が 0 に設定されている場合、SA はすべてのソース TCP/UDP ポートに適用されます。

SrcTunnelAddr

トンネルのソース エンドポイント (コネクタなど) の IP アドレス。 ミニポート ドライバーは、次を使用します。
SrcTunnelAddr は、SA で送信されるパケットのトンネル IP ヘッダーの送信元アドレスです。 SrcTunnelAddr は、パケットのトンネル部分に適用される SA に対してのみ指定されます。 SrcTunnelAddr は、パケットのトランスポート部分に適用される SA に対して 0 に設定されます。

DstTunnelAddr

トンネルの宛先エンドポイント (コネクタなど) の IP アドレス。 ミニポート ドライバーは、SA で送信されるパケットのトンネル IP ヘッダーの宛先アドレスとして DestTunnelAddr を使用します。 DestTunnelAddr は、パケットのトンネル部分に適用される SA に対してのみ指定されます。 パケットのトランスポート部分に適用される SA の場合、DestTunnelAddr は 0 に設定されます。

Flags

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

OFFLOAD_INBOUND_SA

受信 SA を指定します。

OFFLOAD_OUTBOUND_SA

送信 SA を指定します。

NumSAs

SecAssoc 配列内の要素の数。 配列内の各要素は、 OFFLOAD_SECURITY_ASSOCIATION 構造体。

SecAssoc[OFFLOAD_MAX_SAS]

SA のインターネット プロトコル セキュリティ (IPsec) 操作 (AH または ESP) に関する情報を含む可変長配列。 各 IPsec 操作の情報は、OFFLOAD_SECURITY_ASSOCIATION構造として書式設定されます。

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

OffloadHandle

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

EncapTypeEntry

パーサー エントリの UDP-ESP カプセル化の種類と宛先ポート。 この情報は、 OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY 構造体。

EncapTypeEntryOffldHandle

Flags= OFFLOAD_INBOUND_SAEncapTypeEntryOffldHandleNULL の場合、ミニポート ドライバーは、EncapTypeEntry で指定されたパーサー エントリが NIC のパーサー エントリ リストに含まれているかどうかをチェックする必要があります。 そうでない場合、ミニポート ドライバーは、 EncapTypeEntry で指定されたカプセル化の種類と宛先ポートを使用してパーサー エントリを作成し、パーサー エントリの一覧にパーサー エントリを追加し、指定した CA をオフロードする必要があります。 ミニポート ドライバーは、新しく作成されたパーサー エントリを識別する EncapTypeEntryOffldHandle のハンドルを返す必要があります。 指定したパーサー エントリが既にパーサー エントリの一覧にある場合、ミニポートは、既存のパーサー エントリの EncapTypeEntryOffldHandle でハンドルを返すだけです。

Flags= OFFLOAD_INBOUND_SAEncapTypeEntryOffldHandleNULL 以外の場合、EncapTypeEntryOffldHandle には、NIC のパーサー エントリ リストに既にあるパーサー エントリへのハンドルが含まれます。 この場合、ミニポート ドライバーは単に指定された CA をオフロードする必要があります。

フラグ= がOFFLOAD_OUTBOUND_SA場合、ミニポート ドライバーは EncapTypeEntryOffldHandle パラメーターを無視する必要があります。

KeyLen

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

KeyMat[1]

SecAssoc で指定された CA のキーを含む可変長配列。 機密性 (暗号化/復号化) アルゴリズムと整合性 (認証) アルゴリズムの両方が、 の ConfAlgo および IntegrityAlgo によって指定されている場合 構造OFFLOAD_SECURITY_ASSOCIATIONKeyMat のバッファーには、最初に確認アルゴリズムのキー情報が含まれており、その直後に整合性アルゴリズムのキー情報が格納されます。

KeyMat のバッファー内の各キーの長さは、機密性または整合性アルゴリズムを指定するOFFLOAD_ALGO_INFO構造体の algoKeyLen によって指定されます。 (OFFLOAD_ALGO_INFO構造体は、OFFLOAD_SECURITY_ASSOCIATION構造体のメンバーです。

注釈

OFFLOAD_IPSEC_ADD_UDPESP_SA構造体は、 と共に使用されます。 OID_TCP_TASK_IPSEC_ADD_UDPESP_SA Oid。

OFFLOAD_IPSEC_ADD_UDPESP_SA構造体は、OID_TCP_TASK_IPSEC_ADD_SA要求で使用されるOFFLOAD_IPSEC_ADD_SA構造体とほぼ同じであることに注意してください。 唯一の違いは、OFFLOAD_IPSEC_ADD_UDPESP_SA構造体に EncapTypeEntry メンバーと EncapTypeEntryOffldHandle メンバーが含まれていることです。

要件

要件
Header ntddndis.h (Ndis.h を含む)

こちらもご覧ください

NDIS_IPSEC_PACKET_INFO

OFFLOAD_ALGO_INFO

OFFLOAD_IPSEC_ADD_SA

OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY

OFFLOAD_SECURITY_ASSOCIATION

OID_TCP_TASK_IPSEC_ADD_SA

OID_TCP_TASK_IPSEC_ADD_UDPESP_SA

OID_TCP_TASK_IPSEC_DELETE_SA