次の方法で共有


OFFLOAD_IPSEC_ADD_UDPESP_SA構造体 (ntddndis.h)

OFFLOAD_IPSEC_ADD_UDPESP_SA構造体には、NIC に UDP カプセル化 ESP パケットのミニポート ドライバーが追加する各セキュリティ アソシエーション (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 プロトコル。 プロトコル のエンコードは、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 に対してのみ指定されます。 DestTunnelAddr は、パケットのトランスポート部分に適用される SA に対して 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_SA と EncapTypeEntryOffldHandle が NULL 場合、ミニポート ドライバーは、EncapTypeEntry で指定されたパーサー エントリが NIC のパーサー エントリ リストに含まれているかどうかを確認する必要があります。 存在しない場合は、ミニポート ドライバーは、カプセル化の種類と宛先ポートを使用して、パーサー エントリを作成する必要があります EncapTypeEntryで指定され、パーサー エントリをパーサー エントリ リストに追加し、指定した CA をオフロードします。 ミニポート ドライバーは、新しく作成されたパーサー エントリ 識別する EncapTypeEntryOffldHandle でハンドルを返す必要があります。 指定したパーサー エントリが既にパーサー エントリ リストにある場合、ミニポートは、既存のパーサー エントリの EncapTypeEntryOffldHandle でハンドルを返す必要があります。

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

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

KeyLen

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

KeyMat[1]

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

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構造体に EncapTypeEntryEncapTypeEntryOffldHandle メンバーが含まれていることです。

必要条件

要件 価値
ヘッダー 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