IPsec Offload Version 2 でのセキュリティ アソシエーションの管理
[IPsec タスク オフロード機能は廃止予定であり、使用しないでください。
TCP/IP トランスポートは、NIC が IPsec オフロード バージョン 2 (IPsecOV2) オペレーション (「NIC の IPsec オフロード バージョン 2 機能の報告」を参照) を実行できることと判断した後、IPsec タスクを NIC にオフロードする前に、NIC のミニポート ドライバーが 1 つ以上のセキュリティ アソシエーション (CA) を NIC に追加するように要求します。 SA を追加した後、TCP/IP トランスポートはそれらを削除したり更新したりもできます。 IPsecOV2 インターフェイスには、OID を追加、削除、更新などをするための NDIS 直接 OID インターフェイスが必要です。
注: NDIS は、NDIS 6.1 以降のドライバーの直接 OID 要求インターフェイスを提供します。 直接 OID 要求パスは、頻繁にクエリまたは設定される OID 要求をサポートします。
ミニポート ドライバーが NIC に 1 つ以上の SA を追加することを要求する場合、TCP/IP トランスポートは、OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA OID を設定します。 ミニポート ドライバーは、IPSEC_OFFLOAD_V2_ADD_SA 構造体を受け取り、SA で IPsecOV2 処理用の NIC を構成します。 正常に OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA に設定すると、ミニポート ドライバーは、IPSEC_OFFLOAD_V2_ADD_SA 構造体でオフロードされた SA を識別するハンドルを初期化します。 トランスポートは、ミニポート ドライバーへの後続の要求 (つまり、送信パス、または SA を変更または削除する呼び出し) でこのハンドルを使用します。 送信パスで SA ハンドルを使用する方法の詳細については、「IPsec オフロード バージョン 2 を使用したネットワーク データの送信」を参照してください。
ミニポート ドライバーは、NIC が SaOffloadCapacityメンバー (NDIS_IPSEC_OFFLOAD_V2 構造体内) でサポートできる SA の数を報告します。
ミニポート ドライバーは、受信パケットにおいて SaDeleteReq フラグ (NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO 構造体内) を設定できます。 その後 TCP/IP トランスポートは、OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA を、パケットが受信された受信 SA を削除するために 1 回、削除された受信 SA に対応する発信 SA を削除するために再び 1 回発行します。
TCP/IP トランスポートは、パケットが受信された受信 SA の削除と、削除された受信 SA に対応する発信 SA の削除のためにOID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA を発行します。 NIC は、対応する OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA 要求を受信する前に、これらの SA を削除してはいけません。
TCP/IP トランスポートは、ミニポート ドライバーが拡張シーケンス番号 (ESN) を持つ SA において上位ビットで NIC を更新するように要求するため、OID_TCP_TASK_IPSEC_OFFLOAD_V2_UPDATE_SA OID を設定します。 ESN をサポートする NIC の場合、ミニポート ドライバーがこの要求を受信すると、ドライバーは、IPSEC_OFFLOAD_V2_OPERATION リスト値としてOperation メンバー (IPSEC_OFFLOAD_V2_UPDATE_SA 構造体内) で指定されたものに従って NIC 内の指定された SA のシーケンス番号を更新することになります。