NDIS_IPSEC_OFFLOAD_V2 結構 (ntddndis.h)
[IPsec 工作卸除功能已被取代,不應使用。
NDIS_IPSEC_OFFLOAD_V2 結構提供 (IPsec) 第 2 版工作卸除結構 NDIS_OFFLOAD 中因特網通訊協定安全性的相關信息。
語法
typedef struct _NDIS_IPSEC_OFFLOAD_V2 {
ULONG Encapsulation;
BOOLEAN IPv6Supported;
BOOLEAN IPv4Options;
BOOLEAN IPv6NonIPsecExtensionHeaders;
BOOLEAN Ah;
BOOLEAN Esp;
BOOLEAN AhEspCombined;
BOOLEAN Transport;
BOOLEAN Tunnel;
BOOLEAN TransportTunnelCombined;
BOOLEAN LsoSupported;
BOOLEAN ExtendedSequenceNumbers;
ULONG UdpEsp;
ULONG AuthenticationAlgorithms;
ULONG EncryptionAlgorithms;
ULONG SaOffloadCapacity;
} NDIS_IPSEC_OFFLOAD_V2, *PNDIS_IPSEC_OFFLOAD_V2;
成員
Encapsulation
IPsec 卸除支援的 MAC 封裝類型。 如需此成員的詳細資訊,請參閱下列一節。
IPv6Supported
如果支援 IPv6 流量上的 IPsec 卸除處理,則 BOOLEAN 值會設定為 TRUE 。 否則,此成員為 FALSE。
IPv4Options
如果 NIC 支援 IPsec 卸載具有 IPv4 選項之封包的 IPsec 卸除,則為 BOOLEAN 值。 否則,此成員為 FALSE。
IPv6NonIPsecExtensionHeaders
如果 NIC 除了 IPsec 標頭之外,還支援非 IPsec IPv6 擴充標頭的封包 IPsec 卸除處理,則 BOOLEAN 值會設定為 TRUE 。 否則,此成員為 FALSE。
Ah
如果 NIC 可以在傳送和接收包含驗證標頭的封包 (AH) 安全性承載時執行 IPsec 卸除作業,則 BOOLEAN 值會設定為 TRUE 。 否則,此成員為 FALSE。
Esp
如果 NIC 可以在傳送和接收包含封裝安全性承載的封包 (ESP) 上執行 IPsec 卸除作業,則 BOOLEAN 值會設定為 TRUE 。 否則,此成員為 FALSE。
AhEspCombined
如果 NIC 可以在傳送和接收包含 AH 承載和 ESP 承載的封包上執行 IPsec 卸載作業,則 BOOLEAN 值會設定為 TRUE 。 否則,此成員為 FALSE。
Transport
如果 NIC 可以處理傳送和接收封包之傳輸模式部分的安全性承載,則 BOOLEAN 值會設定為 TRUE 。 (封包的傳輸模式部分與端對端連線有關。) 否則,此成員為 FALSE。
Tunnel
如果 NIC 可以處理傳送和接收封包之通道模式部分的安全性承載,則 BOOLEAN 值會設定為 TRUE 。 (封包的通道模式部分與通道連線有關。) 否則,此成員為 FALSE。
TransportTunnelCombined
如果 NIC 可以同時處理傳輸模式部分和傳送和接收封包的通道模式部分的安全性承載,則 BOOLEAN 值會設定為 TRUE 。 否則,此成員為 FALSE。 封包的傳輸模式部分與端對端連線有關。 封包的通道模式部分與通道連線有關。
LsoSupported
布爾值,如果 NIC 支援大型傳送卸除 (LSO) ,則設定為 TRUE 。 否則,此成員為 FALSE。 請注意,NIC 的 LSO 功能是在 NDIS_OFFLOAD 結構的 LsoV1 或 LsoV2 成員中指定。 LsoSupported 旗標表示如果連線受到 IPsec 保護,這些成員中指定的功能也有效。
ExtendedSequenceNumbers
如果 NIC 支援 IPsec 擴充序號,則 BOOLEAN 值會設定為 TRUE 。 否則,此成員為 FALSE。
UdpEsp
NIC 可以剖析的 UDP 封裝 ESP 數據封包類型。 如需 UDP 封裝類型的描述,請參閱 UDP-ESP 封裝類型。 此成員可以是下列一或多個旗標:
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE
IPsec 卸除處理不適用於任何 UDP 封裝類型。
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT
UDP 所封裝的 ESP 封裝傳輸模式封包支援 IPsec 卸除。
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL
UDP 封裝封包的通道模式部分支援 IPsec 卸除。 封包的傳輸模式部分未封裝 UDP,而且不受 ESP 保護。
IPSEC_OFFLOAD_V2_TRANSPORT_OVER_UDP_ESP_ENCAPSULATION_TUNNEL
UDP 封裝封包的通道模式部分支援 IPsec 卸除。 封包的傳輸模式部分不是UDP封裝,而是受到ESP保護。
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT_OVER_TUNNEL
未封裝 UDP 封包的通道模式部分支援 IPsec 卸除。 封包的傳輸模式部分會受到UDP封裝和ESP保護。
AuthenticationAlgorithms
識別 NIC 支援的 IPsec 驗證演算法的位掩碼。 迷你埠驅動程式會指定下列值的位 OR:
IPSEC_OFFLOAD_V2_AUTHENTICATION_MD5
NIC 可以使用金鑰訊息摘要 5 (MD5) 演算法來計算或驗證密碼編譯總和檢查碼。
IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_1
NIC 可以使用安全哈希演算法 (SHA) 1 演演算法來計算或驗證密碼編譯總和檢查碼。
IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_256
NIC 可以使用 SHA 256 演演算法來計算或驗證密碼編譯總和檢查碼。
IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_128
NIC 可以使用進階加密標準 - Galois/Counter Mode (AES-GMAC) 128 演演算法來計算或驗證密碼編譯總和檢查碼。
IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_192
NIC 可以使用 AES-GMAC 192 演演算法來計算或驗證密碼編譯總和檢查碼。
IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_256
NIC 可以使用 AES-GMAC 256 演演算法來計算或驗證密碼編譯總和檢查碼。
EncryptionAlgorithms
識別 NIC 支援的 IPsec 加密演算法的位遮罩。 此位掩碼是下列值的位 OR:
IPSEC_OFFLOAD_V2_ENCRYPTION_NONE
NIC 可以使用 Null 加密,也就是沒有加密但具有驗證資訊的 ESP 承載。
IPSEC_OFFLOAD_V2_ENCRYPTION_DES_CBC
NIC 可以使用 DES 演演算法來加密和解密 ESP 承載。
IPSEC_OFFLOAD_V2_ENCRYPTION_3_DES_CBC
NIC 可以使用三重 DES 演演算法來加密和解密 ESP 承載。
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_128
NIC 可以使用 AES-GCM 128 演算法來加密和計算密碼編譯總和檢查碼,或解密和驗證 ESP 承載的密碼編譯總和檢查碼。 請注意,此演算法是合併模式演算法。
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_192
NIC 可以使用 AES-GCM 192 演算法來加密和計算密碼編譯總和檢查碼,或解密和驗證 ESP 承載的密碼編譯總和檢查碼。 請注意,此演算法是合併模式演算法。
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_256
NIC 可以使用 AES-GCM 256 演演算法來加密和計算密碼編譯總和檢查碼,或解密和驗證 ESP 承載的密碼編譯總和檢查碼。 請注意,此演算法是合併模式演算法。
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_128
NIC 可以使用進階加密標準 - 加密區塊鏈結模式 (AES-CBC) 128 演演算法來加密和解密 ESP 承載。
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_192
NIC 可以使用 AES-CBC 192 演演算法來加密和解密 ESP 承載。
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_256
NIC 可以使用 AES-CBC 256 演演算法來加密和解密 ESP 承載。
SaOffloadCapacity
可卸除至 NIC 的 SA 套件組合數目,可能包含 ESP 或 AH 或兩者。 TCP/IP 會維護卸除 SA 套件組合數目的計數,不應加入迷你埠驅動程式所報告的 SA 套件組合數目上限。
備註
在 NDIS 6.1 和更新版本中,NDIS_IPSEC_OFFLOAD_V2 結構會用於 NDIS_OFFLOAD 結構的 IPsecV2 成員中。 NDIS_IPSEC_OFFLOAD_V2 結構會指定迷你埠配接器針對 IPsec 卸除處理所提供的目前或支援功能。
針對 OID_TCP_OFFLOAD_CURRENT_CONFIG,NDIS_OFFLOAD結構會指定迷你埠配接器支援的工作卸除功能。 如果目前的卸除功能變更,迷你埠驅動程式會報告 中的新功能 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 狀態指示。
NDIS_IPSEC_OFFLOAD_V2的 封裝 成員會定義迷你埠配接器支援 IPsec 卸除的 MAC 封裝。
回應 OID_TCP_OFFLOAD_CURRENT_CONFIG 查詢要求,NDIS 會在 封裝 成員中提供封裝旗標的位 OR,指出支援的封裝設定。 迷你埠驅動程序必須提供乙太網路封裝 (NDIS_ENCAPSULATION_IEEE_802_3) 。 其他類型的封裝是選擇性的。
針對 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 狀態指示,迷你埠驅動程式會提供封裝旗標的位 OR,指出 封裝 成員中的目前功能。
下列旗標是針對 封裝 成員所定義的:
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.1 和更新版本支援。 |
標頭 | ntddndis.h (包含 Ndis.h) |