structure NDIS_IPSEC_OFFLOAD_V2 (ntddndis.h)
[La fonctionnalité de déchargement de tâche IPsec est déconseillée et ne doit pas être utilisée.]
La structure NDIS_IPSEC_OFFLOAD_V2 fournit des informations sur les fonctionnalités de déchargement des tâches de sécurité du protocole Internet (IPsec) version 2 dans la structure NDIS_OFFLOAD .
Syntaxe
typedef struct _NDIS_IPSEC_OFFLOAD_V2 {
ULONG Encapsulation;
BOOLEAN IPv6Supported;
BOOLEAN IPv4Options;
BOOLEAN IPv6NonIPsecExtensionHeaders;
BOOLEAN Ah;
BOOLEAN Esp;
BOOLEAN AhEspCombined;
BOOLEAN Transport;
BOOLEAN Tunnel;
BOOLEAN TransportTunnelCombined;
BOOLEAN LsoSupported;
BOOLEAN ExtendedSequenceNumbers;
ULONG UdpEsp;
ULONG AuthenticationAlgorithms;
ULONG EncryptionAlgorithms;
ULONG SaOffloadCapacity;
} NDIS_IPSEC_OFFLOAD_V2, *PNDIS_IPSEC_OFFLOAD_V2;
Membres
Encapsulation
Types d’encapsulation MAC pris en charge pour le déchargement IPsec. Pour plus d’informations sur ce membre, consultez la section Remarques suivante.
IPv6Supported
Valeur BOOLEAN définie sur TRUE si le traitement du déchargement IPsec sur le trafic IPv6 est pris en charge. Sinon, ce membre a la valeur FALSE.
IPv4Options
Valeur BOOLEAN définie sur TRUE si la carte réseau prend en charge le déchargement IPsec de paquets avec des options IPv4. Sinon, ce membre a la valeur FALSE.
IPv6NonIPsecExtensionHeaders
Valeur BOOLEAN définie sur TRUE si la carte réseau prend en charge le traitement du déchargement IPsec pour les paquets avec des en-têtes d’extension IPv6 non IPsec en plus des en-têtes IPsec. Sinon, ce membre a la valeur FALSE.
Ah
Valeur BOOLEAN définie sur TRUE si la carte réseau peut effectuer des opérations de déchargement IPsec sur les paquets d’envoi et de réception qui contiennent une charge utile de sécurité d’en-tête d’authentification (AH). Sinon, ce membre a la valeur FALSE.
Esp
Valeur BOOLEAN définie sur TRUE si la carte réseau peut effectuer des opérations de déchargement IPsec sur les paquets d’envoi et de réception qui contiennent une charge utile de sécurité (ESP) encapsulante. Sinon, ce membre a la valeur FALSE.
AhEspCombined
Valeur BOOLEAN définie sur TRUE si la carte réseau peut effectuer des opérations de déchargement IPsec sur les paquets d’envoi et de réception qui contiennent à la fois une charge utile AH et une charge utile ESP. Sinon, ce membre a la valeur FALSE.
Transport
Valeur BOOLEAN définie sur TRUE si la carte réseau peut traiter des charges utiles de sécurité pour la partie en mode transport des paquets d’envoi et de réception. (La partie en mode transport d’un paquet se rapporte à une connexion de bout en bout.) Sinon, ce membre a la valeur FALSE.
Tunnel
Valeur BOOLEAN définie sur TRUE si la carte réseau peut traiter les charges utiles de sécurité pour la partie en mode tunnel des paquets d’envoi et de réception. (La partie en mode tunnel d’un paquet se rapporte à une connexion de tunnel.) Sinon, ce membre a la valeur FALSE.
TransportTunnelCombined
Valeur BOOLEAN définie sur TRUE si la carte réseau peut traiter les charges utiles de sécurité pour la partie en mode transport et la partie en mode tunnel des paquets d’envoi et de réception. Sinon, ce membre a la valeur FALSE. La partie en mode transport d’un paquet se rapporte à une connexion de bout en bout. La partie en mode tunnel d’un paquet se rapporte à une connexion de tunnel.
LsoSupported
Valeur BOOLEAN définie sur TRUE si la carte réseau prend en charge le déchargement d’envoi volumineux (LSO). Sinon, ce membre a la valeur FALSE. Notez que les fonctionnalités LSO de la carte réseau sont spécifiées dans les membres LsoV1 ou LsoV2 de la structure NDIS_OFFLOAD . L’indicateur LsoSupported indique que les fonctionnalités spécifiées dans ces membres sont également valides si la connexion est sécurisée avec IPsec.
ExtendedSequenceNumbers
Valeur BOOLEAN définie sur TRUE si la carte réseau prend en charge les numéros de séquence étendus IPsec. Sinon, ce membre a la valeur FALSE.
UdpEsp
Types de paquets de données ESP encapsulés par UDP que la carte réseau peut analyser. Pour obtenir une description des types d’encapsulation UDP, consultez Types d’encapsulation UDP-ESP. Ce membre peut être un ou plusieurs des indicateurs suivants :
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE
Le traitement du déchargement IPsec n’est disponible pour aucun type d’encapsulation UDP.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT
Le déchargement IPsec est pris en charge pour un paquet esp-encapsulé en mode transport qui est encapsulé par UDP.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL
Le déchargement IPsec est pris en charge pour la partie en mode tunnel d’un paquet encapsulé 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
Le déchargement IPsec est pris en charge pour la partie en mode tunnel d’un paquet encapsulé udp. La partie en mode transport d’un paquet n’est pas encapsulée udp, mais protégée par ESP.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT_OVER_TUNNEL
Le déchargement IPsec est pris en charge pour la partie en mode tunnel d’un paquet qui n’est pas encapsulé par UDP. La partie en mode transport d’un paquet est encapsulée udp et protégée par ESP.
AuthenticationAlgorithms
Masque de bits qui identifie les algorithmes d’authentification IPsec pris en charge par la carte réseau. Les pilotes miniport spécifient un OR au niveau du bit des valeurs suivantes :
IPSEC_OFFLOAD_V2_AUTHENTICATION_MD5
La carte réseau peut utiliser l’algorithme MD5 (Keyed Message Digest 5) pour le calcul ou la validation d’une somme de contrôle de chiffrement.
IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_1
La carte réseau peut utiliser l’algorithme SHA (Secure Hash Algorithm) 1 pour le calcul ou la validation d’une somme de contrôle de chiffrement.
IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_256
La carte réseau peut utiliser l’algorithme SHA 256 pour le calcul ou la validation d’une somme de contrôle de chiffrement.
IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_128
La carte réseau peut utiliser l’algorithme Advanced Encryption Standard - Galois/Counter Mode (AES-GMAC) 128 pour le calcul ou la validation d’une somme de contrôle de chiffrement.
IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_192
La carte réseau peut utiliser l’algorithme AES-GMAC 192 pour le calcul ou la validation d’une somme de contrôle de chiffrement.
IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_256
La carte réseau peut utiliser l’algorithme AES-GMAC 256 pour le calcul ou la validation d’une somme de contrôle de chiffrement.
EncryptionAlgorithms
Masque de bits qui identifie les algorithmes de chiffrement IPsec pris en charge par la carte réseau. Ce masque de bits est un or au niveau du bit des valeurs suivantes :
IPSEC_OFFLOAD_V2_ENCRYPTION_NONE
La carte réseau peut utiliser le chiffrement Null, c’est-à-dire la charge utile ESP sans chiffrement, mais avec des informations d’authentification.
IPSEC_OFFLOAD_V2_ENCRYPTION_DES_CBC
La carte réseau peut utiliser l’algorithme DES pour chiffrer et déchiffrer les charges utiles ESP.
IPSEC_OFFLOAD_V2_ENCRYPTION_3_DES_CBC
La carte réseau peut utiliser l’algorithme triple-DES pour chiffrer et déchiffrer les charges utiles ESP.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_128
La carte réseau peut utiliser l’algorithme AES-GCM 128 pour chiffrer et calculer une somme de contrôle de chiffrement ou déchiffrer et valider une somme de contrôle de chiffrement pour une charge utile ESP. Notez que cet algorithme est un algorithme en mode combiné.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_192
La carte réseau peut utiliser l’algorithme AES-GCM 192 pour chiffrer et calculer une somme de contrôle de chiffrement ou déchiffrer et valider une somme de contrôle de chiffrement pour une charge utile ESP. Notez que cet algorithme est un algorithme en mode combiné.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_256
La carte réseau peut utiliser l’algorithme AES-GCM 256 pour chiffrer et calculer une somme de contrôle de chiffrement ou déchiffrer et valider une somme de contrôle de chiffrement pour une charge utile ESP. Notez que cet algorithme est un algorithme en mode combiné.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_128
La carte réseau peut utiliser l’algorithme Advanced Encryption Standard - cipher-block chaining mode (AES-CBC) 128 pour chiffrer et déchiffrer les charges utiles ESP.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_192
La carte réseau peut utiliser l’algorithme AES-CBC 192 pour chiffrer et déchiffrer les charges utiles ESP.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_256
La carte réseau peut utiliser l’algorithme AES-CBC 256 pour chiffrer et déchiffrer les charges utiles ESP.
SaOffloadCapacity
Nombre d’offres groupées SA, qui peuvent inclure ESP ou AH ou les deux, qui peuvent être déchargées vers la carte réseau. Le protocole TCP/IP conserve le nombre de bundles SA déchargés et ne doit pas ajouter plus que le nombre maximal de bundles SA signalés par le pilote miniport.
Remarques
Dans NDIS 6.1 et versions ultérieures, la structure NDIS_IPSEC_OFFLOAD_V2 est utilisée dans le membre IPsecV2 de la structure NDIS_OFFLOAD . La structure NDIS_IPSEC_OFFLOAD_V2 spécifie les fonctionnalités actuelles ou prises en charge qu’un adaptateur miniport fournit pour le traitement du déchargement IPsec.
Pour OID_TCP_OFFLOAD_CURRENT_CONFIG, la structure NDIS_OFFLOAD spécifie les fonctionnalités de déchargement de tâche prises en charge par un adaptateur miniport. Si les fonctionnalités de déchargement actuelles changent, un pilote miniport signale les nouvelles fonctionnalités dans un NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG indication status.
Le membre Encapsulation de NDIS_IPSEC_OFFLOAD_V2 définit les encapsulations MAC qu’un adaptateur miniport prend en charge pour le déchargement IPsec.
En réponse à un OID_TCP_OFFLOAD_CURRENT_CONFIG demande de requête, NDIS fournit un or au niveau du bit des indicateurs d’encapsulation, qui indiquent les paramètres d’encapsulation pris en charge, dans le membre Encapsulation . Les pilotes miniport doivent fournir une encapsulation Ethernet (NDIS_ENCAPSULATION_IEEE_802_3). Les autres types d’encapsulation sont facultatifs.
Pour un NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG status indication, le pilote miniport fournit un or au niveau du bit des indicateurs d’encapsulation, qui indiquent les fonctionnalités actuelles, dans le membre Encapsulation.
Les indicateurs suivants sont définis pour le membre Encapsulation :
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.1 et versions ultérieures. |
En-tête | ntddndis.h (include Ndis.h) |