struttura NDIS_IPSEC_OFFLOAD_V2 (ntddndis.h)
[La funzionalità Offload attività IPsec è deprecata e non deve essere usata.]
La struttura NDIS_IPSEC_OFFLOAD_V2 fornisce informazioni sulle funzionalità di offload delle attività IPsec (Internet Protocol Security) versione 2 nella struttura NDIS_OFFLOAD.
Sintassi
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;
Membri
Encapsulation
Tipi di incapsulamento MAC supportati per l'offload IPsec. Per altre informazioni su questo membro, vedere la sezione Osservazioni seguente.
IPv6Supported
Valore BOOLEAN impostato su TRUE se è supportata l'elaborazione dell'offload IPsec nel traffico IPv6. In caso contrario, questo membro è FALSE.
IPv4Options
Valore BOOLEAN impostato su TRUE se la scheda di interfaccia di rete supporta l'offload IPsec di pacchetti con opzioni IPv4. In caso contrario, questo membro è FALSE.
IPv6NonIPsecExtensionHeaders
Valore BOOLEAN impostato su TRUE se la scheda di interfaccia di rete supporta l'elaborazione dell'offload IPsec per i pacchetti con intestazioni di estensione IPv6 non IPsec oltre alle intestazioni IPsec. In caso contrario, questo membro è FALSE.
Ah
Valore BOOLEAN impostato su TRUE se la scheda di interfaccia di rete può eseguire operazioni di offload IPsec su invio e ricezione di pacchetti che contengono un payload di sicurezza dell'intestazione di autenticazione (AH). In caso contrario, questo membro è FALSE.
Esp
Valore BOOLEAN impostato su TRUE se la scheda di interfaccia di rete può eseguire operazioni di offload IPsec su invio e ricezione di pacchetti che contengono un payload di sicurezza incapsulante (ESP). In caso contrario, questo membro è FALSE.
AhEspCombined
Valore BOOLEAN impostato su TRUE se la scheda di interfaccia di rete può eseguire operazioni di offload IPsec su invio e ricezione di pacchetti che contengono sia un payload AH che un payload ESP. In caso contrario, questo membro è FALSE.
Transport
Valore BOOLEAN impostato su TRUE se la scheda di interfaccia di rete può elaborare i payload di sicurezza per la parte in modalità trasporto di pacchetti di invio e ricezione. La parte in modalità trasporto di un pacchetto riguarda una connessione end-to-end. In caso contrario, questo membro è FALSE.
Tunnel
Valore BOOLEAN impostato su TRUE se la scheda di interfaccia di rete può elaborare i payload di sicurezza per la parte in modalità tunnel dei pacchetti di invio e ricezione. La parte in modalità tunnel di un pacchetto riguarda una connessione tunnel. In caso contrario, questo membro è FALSE.
TransportTunnelCombined
Valore BOOLEAN impostato su TRUE se la scheda di interfaccia di rete può elaborare i payload di sicurezza sia per la parte in modalità trasporto che per la parte in modalità tunnel dei pacchetti di invio e ricezione. In caso contrario, questo membro è FALSE. La parte in modalità trasporto di un pacchetto riguarda una connessione end-to-end. La parte in modalità tunnel di un pacchetto riguarda una connessione tunnel.
LsoSupported
Valore BOOLEAN impostato su TRUE se la scheda di interfaccia di rete supporta l'offload di invio (LSO) di grandi dimensioni. In caso contrario, questo membro è FALSE. Si noti che le funzionalità LSO della scheda di interfaccia di rete vengono specificate nel LsoV1 o LsoV2 membri della struttura NDIS_OFFLOAD. Il flag LsoSupported indica che le funzionalità specificate in tali membri sono valide anche se la connessione è protetta con IPsec.
ExtendedSequenceNumbers
Valore BOOLEAN impostato su TRUE se la scheda di interfaccia di rete supporta i numeri di sequenza estesi IPsec. In caso contrario, questo membro è FALSE.
UdpEsp
Tipi di pacchetti di dati ESP incapsulati da UDP che l'interfaccia di rete può analizzare. Per una descrizione dei tipi di incapsulamento UDP, vedere UDP-ESP Tipi di incapsulamento. Questo membro può essere uno o più dei flag seguenti:
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE
L'elaborazione offload IPsec non è disponibile per qualsiasi tipo di incapsulamento UDP.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT
L'offload IPsec è supportato per un pacchetto incapsulato in modalità trasporto ESP incapsulato da UDP.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL
L'offload IPsec è supportato per la parte in modalità tunnel di un pacchetto incapsulato da UDP. La parte in modalità trasporto del pacchetto non è incapsulata da UDP e non è protetta da ESP.
IPSEC_OFFLOAD_V2_TRANSPORT_OVER_UDP_ESP_ENCAPSULATION_TUNNEL
L'offload IPsec è supportato per la parte in modalità tunnel di un pacchetto incapsulato da UDP. La parte in modalità trasporto di un pacchetto non è incapsulata da UDP, ma è protetta da ESP.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT_OVER_TUNNEL
L'offload IPsec è supportato per la parte in modalità tunnel di un pacchetto che non è incapsulato da UDP. La parte in modalità trasporto di un pacchetto è incapsulata da UDP e protetta da ESP.
AuthenticationAlgorithms
Maschera di bit che identifica gli algoritmi di autenticazione IPsec supportati dalla scheda di interfaccia di rete. I driver Miniport specificano un OR bit per bit dei valori seguenti:
IPSEC_OFFLOAD_V2_AUTHENTICATION_MD5
La scheda di interfaccia di rete può usare l'algoritmo MD5 (Message Digest 5) con chiave per il calcolo o la convalida di un checksum crittografico.
IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_1
La scheda di interfaccia di rete può usare l'algoritmo SHA (Secure Hash Algorithm) 1 per il calcolo o la convalida di un checksum crittografico.
IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_256
La scheda di interfaccia di rete può usare l'algoritmo SHA 256 per il calcolo o la convalida di un checksum crittografico.
IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_128
La scheda di interfaccia di rete può usare l'algoritmo Advanced Encryption Standard - Galois/Counter Mode (AES-GMAC) 128 per il calcolo o la convalida di un checksum crittografico.
IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_192
La scheda di interfaccia di rete può usare l'algoritmo AES-GMAC 192 per il calcolo o la convalida di un checksum crittografico.
IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_256
La scheda di interfaccia di rete può usare l'algoritmo AES-GMAC 256 per il calcolo o la convalida di un checksum crittografico.
EncryptionAlgorithms
Maschera di bit che identifica gli algoritmi di crittografia IPsec supportati dalla scheda di interfaccia di rete. Questa maschera di bit è un OR bit per bit dei valori seguenti:
IPSEC_OFFLOAD_V2_ENCRYPTION_NONE
La scheda di interfaccia di rete può usare la crittografia Null, ovvero il payload ESP senza crittografia, ma con informazioni di autenticazione.
IPSEC_OFFLOAD_V2_ENCRYPTION_DES_CBC
La scheda di interfaccia di rete può usare l'algoritmo DES per crittografare e decrittografare i payload ESP.
IPSEC_OFFLOAD_V2_ENCRYPTION_3_DES_CBC
La scheda di interfaccia di rete può usare l'algoritmo triple-DES per crittografare e decrittografare i payload ESP.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_128
La scheda di interfaccia di rete può usare l'algoritmo AES-GCM 128 per crittografare e calcolare un checksum crittografico o decrittografare e convalidare un checksum crittografico per un payload ESP. Si noti che questo algoritmo è un algoritmo in modalità combinata.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_192
La scheda di interfaccia di rete può usare l'algoritmo AES-GCM 192 per crittografare e calcolare un checksum crittografico o decrittografare e convalidare un checksum crittografico per un payload ESP. Si noti che questo algoritmo è un algoritmo in modalità combinata.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_256
La scheda di interfaccia di rete può usare l'algoritmo AES-GCM 256 per crittografare e calcolare un checksum crittografico o decrittografare e convalidare un checksum crittografico per un payload ESP. Si noti che questo algoritmo è un algoritmo in modalità combinata.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_128
La scheda di interfaccia di rete può usare l'algoritmo Advanced Encryption Standard - cipher-block chaining (AES-CBC) 128 per crittografare e decrittografare i payload ESP.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_192
La scheda di interfaccia di rete può usare l'algoritmo AES-CBC 192 per crittografare e decrittografare i payload ESP.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_256
La scheda di interfaccia di rete può usare l'algoritmo AES-CBC 256 per crittografare e decrittografare i payload ESP.
SaOffloadCapacity
Numero di bundle SA, che possono includere ESP o AH o entrambi, che possono essere scaricati nella scheda di interfaccia di rete. TCP/IP gestisce un conteggio del numero di bundle SA offloaded e non deve aggiungere più del numero massimo di bundle SA segnalati dal driver miniport.
Osservazioni
In NDIS 6.1 e versioni successive, la struttura NDIS_IPSEC_OFFLOAD_V2 viene usata nel membro IPsecV2 della struttura NDIS_OFFLOAD. La struttura NDIS_IPSEC_OFFLOAD_V2 specifica le funzionalità correnti o supportate fornite da un adattatore miniport per l'elaborazione dell'offload IPsec.
Per OID_TCP_OFFLOAD_CURRENT_CONFIG, la struttura NDIS_OFFLOAD specifica le funzionalità di offload delle attività supportate da un adattatore miniport. Se le funzionalità di offload correnti cambiano, un driver miniport segnala le nuove funzionalità in un NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG indicazione dello stato.
Il Encapsulation membro di NDIS_IPSEC_OFFLOAD_V2 definisce gli incapsulamenti MAC supportati da un adattatore miniport per l'offload IPsec.
In risposta a un OID_TCP_OFFLOAD_CURRENT_CONFIG richiesta di query, NDIS fornisce un OR bit per bit dei flag di incapsulamento, che indicano le impostazioni di incapsulamento supportate, nel membro incapsulamento. I driver Miniport devono fornire l'incapsulamento Ethernet (NDIS_ENCAPSULATION_IEEE_802_3). Gli altri tipi di incapsulamento sono facoltativi.
Per un oggetto NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG'indicazione dello stato, il driver miniport fornisce un OR bit per bit dei flag di incapsulamento, che indicano le funzionalità correnti, nel membro incapsulamento.
I flag seguenti sono definiti per il membro incapsulamento:
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato in NDIS 6.1 e versioni successive. |
intestazione | ntddndis.h (include Ndis.h) |