struttura IPSEC_OFFLOAD_V2_ADD_SA_EX (ndis.h)
[La funzionalità Offload attività IPsec è deprecata e non deve essere usata.]
La struttura IPSEC_OFFLOAD_V2_ADD_SA_EX definisce le informazioni su un'associazione di sicurezza (SA) che un driver miniport deve aggiungere a una scheda di interfaccia di rete.
Sintassi
typedef struct _IPSEC_OFFLOAD_V2_ADD_SA_EX {
NDIS_OBJECT_HEADER Header;
ULONG NumExtHdrs;
ULONG Flags;
union {
struct {
IPAddr SrcAddr;
IPAddr DestAddr;
} IPv4Endpoints;
struct {
UCHAR SrcAddr[16];
UCHAR DestAddr[16];
} IPv6Endpoints;
};
NDIS_HANDLE OffloadHandle;
ULONG UdpEspEncapsulation;
IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION SecAssoc[IPSEC_OFFLOAD_V2_MAX_EXTENSION_HEADERS];
ULONG KeyLength;
ULONG KeyOffset;
NDIS_SWITCH_PORT_ID SourceSwitchPortId;
USHORT VlanId;
} IPSEC_OFFLOAD_V2_ADD_SA_EX, *PIPSEC_OFFLOAD_V2_ADD_SA_EX;
Members
Header
Struttura NDIS_OBJECT_HEADER per la struttura IPSEC_OFFLOAD_V2_ADD_SA_EX. Impostare il membro Type della struttura specificata da Header su NDIS_OBJECT_TYPE_DEFAULT, il membro Revision su NDIS_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1 e il membro Size su NDIS_SIZEOF_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1.
NumExtHdrs
Numero di intestazioni di estensione IPsec. Questo membro può essere uno dei valori seguenti.
Tipo di sicurezza | Intestazioni di estensione |
---|---|
Solo autenticazione AH | 1 |
Solo autenticazione ESP | 1 |
Solo crittografia ESP | 1 |
Autenticazione ESP e crittografia | 1 |
AH più autenticazione ESP e crittografia | 2 |
UDP ESP | 1 |
Flags
Maschera di bit che indica se l'amministratore di sistema aggiunto è un sa in ingresso o in uscita, come indicato di seguito:
IPSEC_OFFLOAD_V2_IPv6
Se questo flag è impostato, gli indirizzi sono IPv6. In caso contrario, gli indirizzi sono IPv4
IPSEC_OFFLOAD_V2_INBOUND
Se questo flag è impostato, l'amministratore di sistema è in ingresso. In caso contrario, l'amministratore di sistema è in uscita.
IPv4Endpoints
Indirizzi dell'endpoint IPv4. Questa struttura contiene i membri seguenti:
IPv4Endpoints.SrcAddr
Indirizzo IPv4 dell'host di origine (host che invia i pacchetti).
IPv4Endpoints.DestAddr
Indirizzo IPv4 dell'host di destinazione (host che riceve i pacchetti).
IPv6Endpoints
Indirizzi dell'endpoint IPv6. Questa struttura contiene i membri seguenti:
IPv6Endpoints.SrcAddr[16]
Indirizzo IPv6 dell'host di origine (host che invia i pacchetti).
IPv6Endpoints.DestAddr[16]
Indirizzo IPv6 dell'host di destinazione (host che riceve i pacchetti).
OffloadHandle
Handle per l'amministratore di sicurezza appena creato. Il driver miniport fornisce questo handle prima di completare il
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX richiesta. Il trasporto TCP/IP deve specificare questo handle nel
NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO o NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO struttura prima di passare un pacchetto di invio al driver miniport. Il trasporto TCP/IP deve inoltre specificare questo handle durante l'eliminazione dell'sa con un OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA richiesta.
UdpEspEncapsulation
Tipo di incapsulamento UDP ESP. Questo membro può essere uno o più dei flag seguenti:
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE
Non viene usato alcun incapsulamento UDP.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT
Un pacchetto in modalità trasporto incapsulato ESP viene incapsulato da UDP.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL
La parte in modalità tunnel di un pacchetto è incapsulata 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
La parte in modalità tunnel di un pacchetto è incapsulata 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
La parte in modalità tunnel di un pacchetto non è incapsulata da UDP. La parte in modalità trasporto di un pacchetto è incapsulata da UDP e protetta da ESP.
SecAssoc[IPSEC_OFFLOAD_V2_MAX_EXTENSION_HEADERS]
Matrice con due elementi che contengono le informazioni sulle operazioni IPsec (AH, ESP o entrambe) per l'amministratore di sistema. Il numero di elementi forniti viene specificato nel membro NumExtHdrs . Le informazioni per ogni operazione IPsec vengono formattate come IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION struttura, descritta di seguito.
Il trasporto TCP/IP specifica una o due strutture IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION nel buffer in SecAssoc . Ogni struttura IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION indica il tipo di operazione-autenticazione o crittografia/decrittografia- per cui deve essere utilizzata l'amministratore di sistema specificato nella struttura. L'ordine delle strutture IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION nella matrice indica l'ordine in cui il driver miniport deve eseguire le operazioni per ogni sa. È supportata una sola combinazione di operazioni: crittografia/decrittografia (ESP) seguita dall'autenticazione (AH).
KeyLength
Lunghezza, in byte, del buffer in KeyOffset.
KeyOffset
Offset, in byte, dall'inizio della struttura IPSEC_OFFLOAD_V2_ADD_SA_EX all'inizio di una matrice a lunghezza variabile che contiene chiavi per l'amministratore di sistema specificato in SecAssoc. Se sia un algoritmo di crittografia che un algoritmo di autenticazione vengono specificati dai membri EncryptionAlgorithm e AuthenticationAlgorithm di un IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION struttura, il buffer in KeyOffset contiene le informazioni chiave per uno seguito dall'altro. L'inizio e la lunghezza della chiave vengono specificati da IPSEC_OFFLOAD_V2_ALGORITHM_INFO rispettivamente i membri KeyOffsetBytes e KeyLength della struttura.
SourceSwitchPortId
Riservato.
VlanId
Riservato.
Commenti
La struttura IPSEC_OFFLOAD_V2_ADD_SA_EX specifica un sa di sicurezza da aggiungere. La struttura IPSEC_OFFLOAD_V2_ADD_SA_EX viene utilizzata con l'oggetto
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX OID.
La struttura IPSEC_OFFLOAD_V2_ADD_SA_EX specifica l'origine e la destinazione, nonché i protocolli IP a cui si applica l'amministratore di sicurezza. Questo filtro riguarda una connessione in modalità trasporto, ovvero una connessione end-to-end tra due host. Se la connessione specificata viene effettuata tramite un tunnel, vengono specificati gli indirizzi di origine e di destinazione del tunnel.
Se un membro è impostato su zero, tale parametro non viene usato per filtrare i pacchetti per l'amministratore di sistema specificato. Ad esempio, se SrcAddr è impostato su zero, l'amministratore di sistema specificato può essere applicato a un pacchetto contenente qualsiasi indirizzo di origine. Se tutti i parametri del filtro sono impostati su zero, l'amministratore di sistema specificato si applica a qualsiasi host di origine che invia qualsiasi tipo di pacchetto a qualsiasi host di destinazione.
Questa struttura è quasi identica alla versione precedente, IPSEC_OFFLOAD_V2_ADD_SA. I membri Next e KeyData sono stati rimossi. Sono stati aggiunti i membri KeyOffset, SourceSwitchPortId e VlanId .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato in NDIS 6.30 e versioni successive. |
Intestazione | ndis.h (include Ndis.h) |