Partager via


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.

Note Lorsque la couche IPsec envoie des paquets de tunnel via une interface de déchargement de tâche IPsec, la couche IPsec garantit que le déchargement d’envoi volumineux (LSO) n’est pas utilisé pour ces paquets.
 

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.

Note Pour prendre en charge le déchargement de tâche IPsec, le pilote miniport doit spécifier TRUE dans le membre Tunnel .
 
NDIS_OFFLOAD est utilisé dans le structure NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES , structure NDIS_BIND_PARAMETERS , NDIS_FILTER_ATTACH_PARAMETERS structure, OID_TCP_OFFLOAD_CURRENT_CONFIG OID, et le NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG indication status.

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)

Voir aussi

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_IPSEC_OFFLOAD_V1

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OFFLOAD

NDIS_OID_REQUEST

NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG

NET_BUFFER_LIST

OID_TCP_OFFLOAD_CURRENT_CONFIG