structure IPSEC_OFFLOAD_V2_ADD_SA_EX (ndis.h)
[La fonctionnalité de déchargement de tâche IPsec est déconseillée et ne doit pas être utilisée.]
La structure IPSEC_OFFLOAD_V2_ADD_SA_EX définit des informations sur une association de sécurité (SA) qu’un pilote miniport doit ajouter à une carte réseau.
Syntaxe
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;
Membres
Header
Structure NDIS_OBJECT_HEADER pour la structure IPSEC_OFFLOAD_V2_ADD_SA_EX. Définissez le membre type de la structure spécifiée par -en-tête sur NDIS_OBJECT_TYPE_DEFAULT, le membre Révision sur NDIS_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1 et le membre Size sur NDIS_SIZEOF_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1.
NumExtHdrs
Nombre d’en-têtes d’extension IPsec. Ce membre peut être l’une des valeurs suivantes.
Type de sécurité | En-têtes d’extension |
---|---|
Authentification AH uniquement | 1 |
Authentification ESP uniquement | 1 |
Chiffrement ESP uniquement | 1 |
Authentification ESP et chiffrement | 1 |
AH plus l’authentification ESP plus le chiffrement | 2 |
UDP ESP | 1 |
Flags
Masque de bits qui indique si la signature d’accès partagé ajoutée est une SA entrante ou sortante comme suit :
IPSEC_OFFLOAD_V2_IPv6
Si cet indicateur est défini, les adresses sont IPv6. Sinon, les adresses sont IPv4
IPSEC_OFFLOAD_V2_INBOUND
Si cet indicateur est défini, la signature d’accès partagé est entrante. Sinon, la sap est sortante.
IPv4Endpoints
Adresses de point de terminaison IPv4. Cette structure contient les membres suivants :
IPv4Endpoints.SrcAddr
Adresse IPv4 de l’hôte source (hôte qui envoie les paquets).
IPv4Endpoints.DestAddr
Adresse IPv4 de l’hôte de destination (hôte qui reçoit les paquets).
IPv6Endpoints
Adresses de point de terminaison IPv6. Cette structure contient les membres suivants :
IPv6Endpoints.SrcAddr[16]
Adresse IPv6 de l’hôte source (hôte qui envoie les paquets).
IPv6Endpoints.DestAddr[16]
Adresse IPv6 de l’hôte de destination (hôte qui reçoit les paquets).
OffloadHandle
Handle de la nouvelle SAP créée. Le pilote miniport fournit cette poignée avant de terminer le
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX demande. Le transport TCP/IP doit spécifier ce handle dans le
NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO ou
NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO structure avant de passer un paquet d’envoi au pilote miniport. Le transport TCP/IP doit également spécifier ce handle lors de la suppression de la signature d’accès partagé avec un
OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA demande.
UdpEspEncapsulation
Type d’encapsulation UDP ESP. Ce membre peut être un ou plusieurs des indicateurs suivants :
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE
Aucune encapsulation UDP n’est utilisée.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT
Un paquet en mode transport encapsulé ESP est encapsulé par UDP.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL
La partie en mode tunnel d’un paquet est encapsulée PAR UDP. La partie en mode transport du paquet n’est pas encapsulée PAR UDP et n’est pas protégée par ESP.
IPSEC_OFFLOAD_V2_TRANSPORT_OVER_UDP_ESP_ENCAPSULATION_TUNNEL
La partie en mode tunnel d’un paquet est encapsulée PAR UDP. La partie en mode transport d’un paquet n’est pas encapsulée par UDP, mais protégée par ESP.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT_OVER_TUNNEL
La partie en mode tunnel d’un paquet n’est pas encapsulée par UDP. La partie en mode transport d’un paquet est encapsulée par UDP et protégée par ESP.
SecAssoc[IPSEC_OFFLOAD_V2_MAX_EXTENSION_HEADERS]
Tableau avec deux éléments qui contiennent les informations sur les opérations IPsec (AH, ESP ou les deux) pour la sape. Le nombre d’éléments fournis est spécifié dans le membre NumExtHdrs. Les informations de chaque opération IPsec sont mises en forme sous forme IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION structure, décrite ci-dessous.
Le transport TCP/IP spécifie une ou deux structures IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION dans la mémoire tampon à secAssoc . Chaque structure IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION indique le type d’opération-authentification ou de chiffrement/déchiffrement pour lequel la signature d’accès partagé spécifiée dans la structure doit être utilisée. L’ordre des structures IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION dans le tableau indique l’ordre dans lequel le pilote miniport doit effectuer les opérations pour chaque sap. Une seule combinaison d’opérations est prise en charge : chiffrement/déchiffrement (ESP) suivi de l’authentification (AH).
KeyLength
Longueur, en octets, de la mémoire tampon à keyOffset.
KeyOffset
Décalage, en octets, du début de la structure IPSEC_OFFLOAD_V2_ADD_SA_EX au début d’un tableau de longueur variable qui contient des clés pour la sap spécifiée à secAssoc. Si un algorithme de chiffrement et un algorithme d’authentification sont spécifiés par le EncryptionAlgorithm et AuthenticationAlgorithm membres d’un IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION structure, la mémoire tampon à keyOffset contient des informations clés pour l’une suivie de l’autre. Le début et la longueur de la clé sont spécifiés par le IPSEC_OFFLOAD_V2_ALGORITHM_INFO structure KeyOffsetBytes et membres KeyLength, respectivement.
SourceSwitchPortId
Réservé.
VlanId
Réservé.
Remarques
La structure IPSEC_OFFLOAD_V2_ADD_SA_EX spécifie une sap de sécurité qui doit être ajoutée. La structure IPSEC_OFFLOAD_V2_ADD_SA_EX est utilisée avec la
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX OID.
La structure IPSEC_OFFLOAD_V2_ADD_SA_EX spécifie la source et la destination, ainsi que les protocoles IP auxquels l’accès partagé s’applique. Ce filtre se rapporte à une connexion en mode transport, c’est-à-dire une connexion de bout en bout entre deux hôtes. Si la connexion spécifiée est établie via un tunnel, les adresses source et de destination du tunnel sont spécifiées.
Si un membre a la valeur zéro, ce paramètre n’est pas utilisé pour filtrer les paquets pour la sap spécifiée. Par exemple, si SrcAddr est défini sur zéro, la sa spécifiée peut s’appliquer à un paquet qui contient n’importe quelle adresse source. Si tous les paramètres de filtre sont définis sur zéro, la sa spécifiée s’applique à n’importe quel hôte source qui envoie n’importe quel type de paquet à n’importe quel hôte de destination.
Cette structure est presque identique à la version précédente, IPSEC_OFFLOAD_V2_ADD_SA. Les membres suivant et KeyData ont été supprimés. Les KeyOffset, SourceSwitchPortId et les membres VlanId ont été ajoutés.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Prise en charge dans NDIS 6.30 et versions ultérieures. |
d’en-tête | ndis.h (include Ndis.h) |