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 de la structure IPSEC_OFFLOAD_V2_ADD_SA_EX. Définissez le membre Type de la structure spécifiée par l’en-tête sur NDIS_OBJECT_TYPE_DEFAULT, le membre Revision 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 plus chiffrement | 1 |
AH plus l’authentification ESP plus le chiffrement | 2 |
UDP ESP | 1 |
Flags
Masque de bits qui indique si l’accès partagé ajouté est une sap 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, l’accès partagé est entrant. Dans le cas contraire, l’accès partagé est sortant.
IPv4Endpoints
Adresses de point de terminaison IPv4. Cette structure contient les membres suivants :
IPv4Endpoints.SrcAddr
Adresse IPv4 de l’hôte source (l’hôte qui envoie les paquets).
IPv4Endpoints.DestAddr
Adresse IPv4 de l’hôte de destination (l’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 (l’hôte qui envoie les paquets).
IPv6Endpoints.DestAddr[16]
Adresse IPv6 de l’hôte de destination (l’hôte qui reçoit les paquets).
OffloadHandle
Handle de la sap nouvellement 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 l’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 UDP. La partie en mode transport du paquet n’est pas encapsulée 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 UDP. La partie en mode transport d’un paquet n’est pas encapsulée UDP, mais est 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 UDP. La partie en mode transport d’un paquet est encapsulée 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 l’AS. Le nombre d’éléments fournis est spécifié dans le membre NumExtHdrs . Les informations pour chaque opération IPsec sont mises en forme en tant que 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 chiffrement/déchiffrement) pour lequel l’assemblée spécifiée dans la structure doit être utilisée. L’ordre des structures de 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 dans KeyOffset.
KeyOffset
Décalage, en octets, entre le début de la structure IPSEC_OFFLOAD_V2_ADD_SA_EX et le début d’un tableau de longueur variable qui contient des clés pour l’sap spécifié dans SecAssoc. Si un algorithme de chiffrement et un algorithme d’authentification sont spécifiés par les membres EncryptionAlgorithm et AuthenticationAlgorithm d’un IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION structure, la mémoire tampon dans 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 membres KeyOffsetBytes et KeyLength de la structure, 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 le
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 s’applique l’AS. Ce filtre concerne 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 est défini sur zéro, ce paramètre n’est pas utilisé pour filtrer les paquets pour l’entité d’accès unique spécifiée. Par exemple, si SrcAddr est défini sur zéro, l’accès partagé spécifié 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, l’accès partagé spécifié 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 Next et KeyData ont été supprimés. Les membres KeyOffset, SourceSwitchPortId et VlanId ont été ajoutés.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.30 et versions ultérieures. |
En-tête | ndis.h (inclure Ndis.h) |