Condividi tramite


Ricezione di dati di rete con offload IPsec versione 2

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

Una scheda di interfaccia di rete esegue l'elaborazione IPsec offload versione 2 (IPsecOV2) in un pacchetto di ricezione come specificato in un'associazione di sicurezza (SA) offloaded dal trasporto.

Il driver miniport imposta le informazioni IPsecOV2 fuori banda (OOB) prima di indicare i dati ricevuti sui driver overlying. Per altre informazioni sull'accesso alle informazioni OOB, vedere Accesso alle informazioni di NET_BUFFER_LIST in Offload IPsec versione 2.

Nota Un driver miniport deve indicare tutti i pacchetti ricevuti ai driver overlying anche se si verifica un errore durante l'elaborazione dei dati IPsec nella scheda di interfaccia di rete. Il driver deve indicare pacchetti con errori per consentire allo stack di driver di monitorare e risolvere i problemi del traffico di rete.

Prima del driver miniport indica il pacchetto di dati ricevuto fino allo stack di driver, il driver miniport:

  • Verifica che l'hardware sia configurato per gestire le attività di offload IPsec. In caso contrario, il driver miniport riceve un'indicazione senza ulteriore elaborazione di offload IPsec.

  • Esamina l'indice dei parametri di sicurezza (SPI) per determinare se esiste un SA offloaded corrispondente. Il driver miniport conferma che l'indirizzo di destinazione nel pacchetto è uguale a quello specificato in sa offloaded. Se non è presente un sa corrispondente, la scheda di interfaccia di rete indica i dati ricevuti senza impostare le informazioni OOB IPsecOV2.

  • Verifica che possa elaborare il pacchetto in base alle funzionalità segnalate dal driver miniport al trasporto o che fornisce un'indicazione di ricezione senza ulteriori elaborazioni IPsec. Ad esempio, il pacchetto potrebbe avere opzioni IP in cui la scheda di interfaccia di rete non supporta l'elaborazione dell'offload IPsec per tali pacchetti e il driver miniport esegue l'elaborazione IPsec.

  • Imposta il flag CryptoDone nella struttura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO per indicare che una scheda di interfaccia di rete ha eseguito il controllo IPsec su almeno un payload IPsec nel pacchetto ricevuto.

  • Imposta il flag NextCryptoDone nella struttura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO per indicare che una scheda di interfaccia di rete ha eseguito il controllo IPsec sia sul tunnel che sulle parti di trasporto di un pacchetto di ricezione. Il driver miniport imposta questo flag solo se un pacchetto ha payload di tunnel e trasporto; in caso contrario, questo flag deve essere zero.

  • Imposta il valore CryptoStatus corretto della struttura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO per indicare i risultati dei controlli IPsec.

Se la scheda di interfaccia di rete non ha eseguito l'elaborazione dell'offload in un pacchetto in ingresso, il driver miniport cancella sia i flag CryptoDone che NextCryptoDone . Il driver miniport cancella questi flag per tutti i pacchetti di ricezione in cui una scheda di interfaccia di rete non decrittografa, indipendentemente dal fatto che il pacchetto sia protetto da AH o protetto da ESP.

Un driver miniport può impostare SaDeleteReq, nella struttura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO per un NET_BUFFER_LIST di ricezione. Il trasporto TCP/IP genera successivamente OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA una volta per eliminare l'sa in ingresso che il pacchetto è stato ricevuto e ancora una volta per eliminare l'sa in uscita corrispondente all'sa in ingresso eliminata. Per altre informazioni sull'aggiunta e l'eliminazione di autorità di sicurezza, vedere Gestione delle associazioni di sicurezza in Offload IPsec versione 2.

Dopo che il driver miniport indica la struttura NET_BUFFER_LIST al trasporto TCP/IP, il trasporto TCP/IP esamina i risultati dei controlli ipsec che la scheda di interfaccia di rete eseguita sul pacchetto, controlla i numeri di sequenza per il pacchetto e determina cosa fare con un pacchetto che non supera il checksum o i test di sequenziazione.