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 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;
Membri
Header
Struttura NDIS_OBJECT_HEADER per la struttura IPSEC_OFFLOAD_V2_ADD_SA_EX. Impostare il membro Type della struttura Header specifica 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 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 (l'host che invia i pacchetti).
IPv6Endpoints.DestAddr[16]
Indirizzo IPv6 dell'host di destinazione (l'host che riceve i pacchetti).
OffloadHandle
Handle per l'amministratore di sistema 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 quando si elimina l'amministratore di sistema con un
OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA richiesta.
UdpEspEncapsulation
Tipo di incapsulamento ESP UDP. Questo membro può essere uno o più dei flag seguenti:
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE
Non viene usata alcuna incapsulamento UDP.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT
Un pacchetto incapsulato in modalità trasporto ESP è 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 corrispondenza SecAssoc . Ogni struttura IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION indica il tipo di operazione-autenticazione o crittografia/decrittografia, per cui deve essere usato 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 amministratore di sistema. È supportata una sola combinazione di operazioni: crittografia/decrittografia (ESP) seguita dall'autenticazione (AH).
KeyLength
Lunghezza, in byte, del buffer in corrispondenza di 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 dal EncryptionAlgorithm e AuthenticationAlgorithm membri di un oggetto IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION struttura, il buffer in corrispondenza KeyOffset contiene le informazioni sulla chiave per una seguita dall'altra. L'inizio e la lunghezza della chiave vengono specificati da IPSEC_OFFLOAD_V2_ALGORITHM_INFO membri KeyOffsetBytes e KeyLength rispettivamente.
SourceSwitchPortId
Riservato.
VlanId
Riservato.
Osservazioni
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 il
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 sistema. 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 che contiene 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 Avanti e KeyData sono stati rimossi. Sono stati aggiunti i membri KeyOffset, SourceSwitchPort Id e VlanId.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato in NDIS 6.30 e versioni successive. |
intestazione | ndis.h (include Ndis.h) |