NDIS_IPSEC_OFFLOAD_V2 struttura (ntddndis.h)

[La funzionalità Di offload attività IPsec è deprecata e non deve essere usata.]

La struttura NDIS_IPSEC_OFFLOAD_V2 fornisce informazioni sulle funzionalità di offload dell'attività internet (IPsec) versione 2 nella struttura di 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;

Members

Encapsulation

Tipi di incapsulamento MAC supportati per l'offload IPsec. Per altre informazioni su questo membro, vedere la sezione Osservazioni seguenti.

IPv6Supported

Valore BOOLEAN impostato su TRUE se l'elaborazione offload IPsec nel traffico IPv6 è supportata. In caso contrario, questo membro è FALSE.

IPv4Options

Valore BOOLEAN impostato su TRUE se la scheda di interfaccia di rete supporta l'offload IPsec dei 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 offload IPsec per i pacchetti con intestazioni di estensione IPv6 non IPsec oltre alle intestazioni di estensione 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 contenenti un payload di sicurezza di 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 contenenti 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 di invio e ricezione in modalità trasporto. 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 di invio e ricezione dei pacchetti. La parte in modalità tunnel di un pacchetto riguarda una connessione tunnel. In caso contrario, questo membro è FALSE.

Nota Quando il livello IPsec invia pacchetti di tunnel su un'interfaccia di offload attività IPsec, il livello IPsec garantisce che non venga usato un offload di invio elevato (LSO) per tali pacchetti.
 

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 di invio e ricezione di pacchetti. 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 un offload di invio di grandi dimensioni (LSO). In caso contrario, questo membro è FALSE. Si noti che le funzionalità LSO della scheda di interfaccia di rete vengono specificate nei membri LsoV1 o LsoV2 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 a cui è possibile analizzare la scheda di interfaccia di rete. Per una descrizione dei tipi di incapsulamento UDP, vedere Tipi di incapsulamento UDP-ESP. Questo membro può essere uno o più dei flag seguenti:

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE

L'elaborazione offload IPsec non è disponibile per alcun 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 che è UDP-encapsulated. 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 che è UDP-encapsulated. La parte in modalità trasporto di un pacchetto non è udp-incapsulata 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 non incapsulato da UDP. La parte in modalità trasporto di un pacchetto è UDP-encapsulated e ESP-protected.

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 (Keyed Message Digest 5) 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 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 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 disattivati nella scheda di interfaccia di rete. TCP/IP gestisce un conteggio del numero di bundle SA caricati e non deve aggiungere più del numero massimo di bundle SA segnalati dal driver miniport.

Commenti

Nelle versioni successive e NDIS 6.1 viene usata la struttura NDIS_IPSEC_OFFLOAD_V2 nel membro IPsecV2della struttura NDIS_OFFLOAD. La struttura NDIS_IPSEC_OFFLOAD_V2 specifica le funzionalità correnti o supportate fornite da una scheda miniport per l'elaborazione di offload IPsec.

Nota Per supportare l'offload delle attività IPsec, il driver miniport deve specificare TRUE nel membro Tunnel .
 
NDIS_OFFLOAD viene usato nell'oggetto struttura NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES , struttura NDIS_BIND_PARAMETERS , NDIS_FILTER_ATTACH_PARAMETERS struttura, OID_TCP_OFFLOAD_CURRENT_CONFIG OID e NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG indicazione dello stato.

Per OID_TCP_OFFLOAD_CURRENT_CONFIG, la struttura NDIS_OFFLOAD specifica le funzionalità di offload attività supportate da una scheda 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 membro Encapsulation di NDIS_IPSEC_OFFLOAD_V2 definisce gli incapsulamenti MAC supportati da una scheda miniport per il 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 Encapsulation . I driver Miniport devono fornire 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 Incapsulation .

I flag seguenti sono definiti per il membro Encapsulation :

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.1 e versioni successive.
Intestazione ntddndis.h (include Ndis.h)

Vedi anche

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_IPSEC_OFFLOAD_V1

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OFFLOAD

NDIS_OID_REQUEST

NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG

NET_BUFFER_LIST

OID_TCP_OFFLOAD_CURRENT_CONFIG