NDIS_IPSEC_OFFLOAD_V2結構 (ntddndis.h)
[IPsec 工作卸除功能已被取代,不應使用。]
NDIS_IPSEC_OFFLOAD_V2 結構提供 NDIS_OFFLOAD 結構中因特網通訊協定安全性 (IPsec) 第 2 版工作卸載功能的相關信息。
語法
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 支援使用 IPv4 選項卸載封包的 IPsec 卸除,則 BOOLEAN 值會設定為 TRUE。 否則,這個成員會 FALSE。
IPv6NonIPsecExtensionHeaders
如果 NIC 除了 IPsec 標頭之外,還支援非 IPsec IPv6 擴充標頭封包的 IPsec 卸除處理,則 BOOLEAN 值會設定為 TRUE。 否則,這個成員會 FALSE。
Ah
如果 NIC 可以在傳送和接收包含驗證標頭 (AH) 安全性承載的封包上執行 IPsec 卸除作業,則 BOOLEAN 值設定為 TRUE。 否則,這個成員會 FALSE。
Esp
BOOLEAN 值,如果 NIC 可以在傳送和接收包含封裝安全性承載 (ESP) 的封包上執行 IPsec 卸除作業,則設定為 TRUE。 否則,這個成員會 FALSE。
AhEspCombined
BOOLEAN 值,如果 NIC 可以在傳送和接收同時包含 AH 承載和 ESP 承載的封包上執行 IPsec 卸除作業,則設定為 true。 否則,這個成員會 FALSE。
Transport
如果 NIC 可以處理傳送和接收封包傳輸模式部分的安全性承載,則 BOOLEAN 值會設定為 TRUE。 (封包的傳輸模式部分與端對端連線有關。否則,這個成員會 FALSE。
Tunnel
如果 NIC 可以處理傳送和接收封包通道模式部分的安全性承載,則 BOOLEAN 值會設定為 TRUE。 (封包的通道模式部分與通道連線有關。否則,這個成員會 FALSE。
TransportTunnelCombined
BOOLEAN 值,如果 NIC 可以同時處理傳輸模式部分和傳送和接收封包的通道模式部分的安全性承載,則設定為 TRUE。 否則,這個成員會 FALSE。 封包的傳輸模式部分與端對端連線有關。 封包的通道模式部分與通道連線有關。
LsoSupported
BOOLEAN 值,如果 NIC 支援大型傳送卸除 (LSO),則設定為 TRUE。 否則,這個成員會 FALSE。 請注意,NIC 的 LSO 功能是在 LsoV1 或 LsoV2 結構 NDIS_OFFLOAD 的成員中指定。 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) |