struttura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO (ndis.h)

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

La struttura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO specifica le informazioni utilizzate per l'offload delle attività di offload della sicurezza del protocollo Internet versione 2 (IPsecOV2) dal trasporto TCP/IP a una scheda di interfaccia di rete.

Sintassi

typedef struct _NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO {
  union {
    struct {
      PVOID OffloadHandle;
    } Transmit;
    struct {
      ULONG SaDeleteReq : 1;
      ULONG CryptoDone : 1;
      ULONG NextCryptoDone : 1;
      ULONG Reserved : 13;
      ULONG CryptoStatus : 16;
    } Receive;
  };
} NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO, *PNDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO;

Members

Transmit

Struttura che contiene i membri seguenti:

Transmit.OffloadHandle

Handle per l'associazione di sicurezza in uscita per un pacchetto con un solo payload IPsec per una connessione di trasporto (end-to-end).

Receive

Struttura che contiene i membri seguenti:

Receive.SaDeleteReq

Valore ULONG che, se impostato, indica che il trasporto TCP/IP deve emettere il OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA OID una volta per eliminare l'sa in ingresso che il pacchetto è stato ricevuto e ancora una volta per eliminare l'sa in uscita che corrisponde all'sa in ingresso eliminata. Prima di ricevere la richiesta di OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA corrispondente, la scheda di interfaccia di rete non deve rimuovere uno di questi SA.

Receive.CryptoDone

Valore ULONG che, se impostato, indica che una scheda di interfaccia di rete ha eseguito il controllo IPsec su almeno un payload IPsec nel pacchetto di ricezione. Quando questo valore viene cancellato, indica che la scheda di interfaccia di rete non ha eseguito il controllo IPsec sul pacchetto.

Receive.NextCryptoDone

Valore ULONG che, se impostato, indica che una scheda di interfaccia di rete ha eseguito il controllo IPsec sia sulle parti di tunnel che di trasporto del pacchetto di ricezione. CryptoDone deve anche essere impostato in questo caso. NextCryptoDone viene impostato solo se un pacchetto ha payload IPsec di tunnel e trasporto; in caso contrario, NextCryptoDone è impostato su zero.

Receive.Reserved

Riservato per NDIS.

Receive.CryptoStatus

Risultato del controllo ipsec eseguito su una scheda di interfaccia di rete su un pacchetto di ricezione. Questo risultato può essere descritto come uno dei valori seguenti:

CryptoStatus.CRYPTO_SUCCESS

Il pacchetto è stato decrittografato correttamente, se necessario, e i checksum dell'intestazione di autenticazione (AH), l'incapsulamento dei checksum del payload di sicurezza (ESP) o entrambi i checksum nel pacchetto sono stati convalidati.

CryptoStatus.CRYPTO_GENERIC_ERROR

Il pacchetto non ha superato il controllo IPsec per un motivo non specificato.

CryptoStatus.CRYPTO_TRANSPORT_AH_AUTH_FAILED

Il checksum AH per la parte di trasporto del pacchetto non è valido.

CryptoStatus.CRYPTO_TRANSPORT_ESP_AUTH_FAILED

Il checksum ESP per la parte di trasporto del pacchetto non è valido.

CryptoStatus.CRYPTO_TUNNEL_AH_AUTH_FAILED

Il checksum AH per la parte del tunnel del pacchetto non è valido.

CryptoStatus.CRYPTO_TUNNEL_ESP_AUTH_FAILED

Il checksum ESP per la parte del tunnel del pacchetto non è valido.

CryptoStatus.CRYPTO_INVALID_PACKET_SYNTAX

La lunghezza del pacchetto di ricezione non è valida. Ad esempio, la lunghezza totale nell'intestazione IP non è sufficiente per includere tutti i campi e le intestazioni per AH/ESP.

CryptoStatus.CRYPTO_INVALID_PROTOCOL

I protocolli IPsec specificati nell'amministratore di sicurezza su cui è stato ricevuto il pacchetto non corrispondono ai protocolli IPsec trovati nel pacchetto. Questo errore, ad esempio, si verifica se l'amministratore di sicurezza su cui è stato ricevuto il pacchetto specifica il protocollo AH, ma il pacchetto contiene solo un'intestazione ESP.

Commenti

Prima che il trasporto TCP/IP passi un pacchetto in uscita a una scheda di interfaccia di rete per l'elaborazione dell'offload, il trasporto specifica le informazioni IPsec nella struttura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO associata alla struttura NET_BUFFER_LIST .

In particolare, il trasporto TCP/IP fornisce un valore per il membro OffloadHandle nella struttura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO. Il valore OffloadHandle specifica l'handle per l'sa in uscita per un pacchetto che ha un solo payload IPsec, indipendentemente dal fatto che tale payload sia per un trasporto o un sa di tunnel. Il valore OffloadHandle fornito nella struttura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO ha lo stesso valore del valore OffloadHandle segnalato al trasporto TCP/IP quando il driver miniport ha aggiunto correttamente un set di SA a una scheda di interfaccia di rete. Tutte le CA sono state aggiunte alla scheda di interfaccia di rete quando il driver miniport ha risposto a un OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA richiesta.

Prima che un driver miniport indichi un pacchetto di ricezione con uno o più payload IPsec, il driver specifica le informazioni IPsec nella struttura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO associata alla struttura NET_BUFFER_LIST .

Per impostare e ottenere le informazioni IPsec, usare l'indice IPsecOffloadV2NetBufferListInfo con la macro NET_BUFFER_LIST_INFO . NET_BUFFER_LIST_INFO restituisce la struttura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO.

Requisiti

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

Vedi anche

NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA