共用方式為


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 指定要NDIS_OBJECT_TYPE_DEFAULT的結構 Type 成員、將 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,如下所示:

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 結構,再將傳送封包傳遞至迷你埠驅動程式。 使用 刪除 SA 時,TCP/IP 傳輸也必須指定此句柄 OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA 要求。

UdpEspEncapsulation

UDP ESP 封裝類型。 此成員可以是下列一或多個旗標:

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]

數位,其中包含有關 AH、ESP 或 SA) 之 IPsec 作業 (相關信息的陣列。 提供的元素數目是在 NumExtHdrs 成員中指定。 每個 IPsec 作業的資訊會格式化為 IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION 結構,如下所述。

TCP/IP 傳輸會在 SecAssoc 的緩衝區中指定一或兩個IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION結構。 每個IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION結構都會指出要使用結構中所指定 SA 的作業驗證或加密/解密類型。 陣列中IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION結構的順序表示迷你埠驅動程序應該針對每個 SA 執行作業的順序。 僅支援一種作業組合:加密/解密 (ESP) 後面接著驗證 (AH) 。

KeyLength

KeyOffset 緩衝區的長度,以位元組為單位。

KeyOffset

位移,以位元組為單位,從IPSEC_OFFLOAD_V2_ADD_SA_EX結構的開頭到可變長度陣列的開頭,其中包含 在 SecAssoc 指定之 SA 的索引鍵。 如果加密演算法和驗證演算法都是由 的 EncryptionAlgorithmAuthenticationAlgorithm 成員所指定 IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION 結構中, KeyOffset 的緩衝區會包含其中一個的密鑰資訊,後面接著另一個。 索引鍵的開頭和長度是由 指定 IPSEC_OFFLOAD_V2_ALGORITHM_INFO 結構的 KeyOffsetBytesKeyLength 成員分別。

SourceSwitchPortId

保留的。

VlanId

保留的。

備註

IPSEC_OFFLOAD_V2_ADD_SA_EX結構會指定應新增的安全性 SA。 IPSEC_OFFLOAD_V2_ADD_SA_EX 結構會與 搭配使用
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX 老。

IPSEC_OFFLOAD_V2_ADD_SA_EX 結構會指定套用 SA 的來源和目的地,以及 IP 通訊協定。 此篩選器與傳輸模式連線有關,也就是兩部主機之間的端對端連線。 如果透過通道建立指定的連接,則會指定通道的來源和目的地位址。

如果成員設定為零,則不會使用該參數來篩選指定 SA 的封包。 例如,如果 SrcAddr 設定為零,則指定的 SA 可以套用至包含任何來源地址的封包。 如果所有篩選參數都設定為零,則指定的 SA 會套用至任何將任何類型的封包傳送至任何目的地主機的來源主機。

此結構幾乎與舊版相同, IPSEC_OFFLOAD_V2_ADD_SA已移除 NextKeyData 成員。 已新增 KeyOffsetSourceSwitchPortIdVlanId 成員。

規格需求

需求
最低支援的用戶端 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