Partager via


structure NDIS_OFFLOAD_PARAMETERS (ntddndis.h)

La structure NDIS_OFFLOAD_PARAMETERS spécifie les paramètres de configuration de déchargement de tâche actuels en réponse à une demande de jeu OID de OID_TCP_OFFLOAD_PARAMETERS.

Syntaxe

typedef struct _NDIS_OFFLOAD_PARAMETERS {
  NDIS_OBJECT_HEADER                 Header;
  UCHAR                              IPv4Checksum;
  UCHAR                              TCPIPv4Checksum;
  UCHAR                              UDPIPv4Checksum;
  UCHAR                              TCPIPv6Checksum;
  UCHAR                              UDPIPv6Checksum;
  UCHAR                              LsoV1;
  UCHAR                              IPsecV1;
  UCHAR                              LsoV2IPv4;
  UCHAR                              LsoV2IPv6;
  UCHAR                              TcpConnectionIPv4;
  UCHAR                              TcpConnectionIPv6;
  ULONG                              Flags;
  UCHAR                              IPsecV2;
  UCHAR                              IPsecV2IPv4;
  struct {
    UCHAR RscIPv4;
    UCHAR RscIPv6;
  };
  struct {
    UCHAR EncapsulatedPacketTaskOffload;
    UCHAR EncapsulationTypes;
  };
  union {
    struct {
      USHORT VxlanUDPPortNumber;
    } VxlanParameters;
    ULONG Value;
  } EncapsulationProtocolParameters;
  _ENCAPSULATION_PROTOCOL_PARAMETERS _ENCAPSULATION_PROTOCOL_PARAMETERS;
  struct {
    UCHAR IPv4;
    UCHAR IPv6;
  } UdpSegmentation;
  struct {
    UCHAR Enabled;
  } UdpRsc;
} NDIS_OFFLOAD_PARAMETERS, *PNDIS_OFFLOAD_PARAMETERS;

Membres

Header

Structure NDIS_OBJECT_HEADER de la structure NDIS_OFFLOAD_PARAMETERS . Définissez le membre Type de la structure que l’en-tête spécifie sur NDIS_OBJECT_TYPE_DEFAULT.

Pour indiquer la version de la structure NDIS_OFFLOAD_PARAMETERS , définissez le membre Revision sur l’une des valeurs suivantes :

Valeur Signification
NDIS_OFFLOAD_PARAMETERS_REVISION_6
6
Prend en charge le membre UdpRsc pour NDIS 6.89. Définissez le membre Size sur NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_6.
NDIS_OFFLOAD_PARAMETERS_REVISION_5
5
Prend en charge udpSegmentation pour IPv4 et IPv6 pour NDIS 6.83. Définissez le membre Size sur NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_5.
NDIS_OFFLOAD_PARAMETERS_REVISION_4
4
Prend en charge EncapsulationProtocolParameters et ses VxlanParameters imbriqués pour NDIS 6.50. Définissez le membre Size sur NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_4.
NDIS_OFFLOAD_PARAMETERS_REVISION_3
3
Prend en charge les membres RscIPv4, RscIPv6, EncapsuléPacketTaskOffload et EncapsulationTypes pour NDIS 6.30. Définissez le membre Size sur NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_3.
NDIS_OFFLOAD_PARAMETERS_REVISION_2
2
Prend en charge les membres IPsecV2, IPsecV2IPv4, Reserved1 et Reserved2 pour NDIS 6.1. Définissez le membre Size sur NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2.
NDIS_OFFLOAD_PARAMETERS_REVISION_1
1
Version d’origine pour NDIS 6.0. Définissez le membre Size sur NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_1.

IPv4Checksum

Paramètre de somme de contrôle IPv4 de l’adaptateur miniport. Pour plus d'informations, consultez la section Notes qui suit.

TCPIPv4Checksum

Paramètre de somme de contrôle IPv4 de l’adaptateur miniport pour les paquets TCP. Pour plus d'informations, consultez la section Notes qui suit.

UDPIPv4Checksum

Paramètre de somme de contrôle IPv4 de l’adaptateur miniport pour les paquets UDP. Pour plus d'informations, consultez la section Notes qui suit.

TCPIPv6Checksum

Paramètre de somme de contrôle IPv6 de l’adaptateur miniport pour les paquets TCP. Pour plus d'informations, consultez la section Notes qui suit.

UDPIPv6Checksum

Paramètre de somme de contrôle IPv6 de l’adaptateur miniport pour les paquets UDP. Pour plus d'informations, consultez la section Notes qui suit.

LsoV1

Paramètre de déchargement d’envoi de grande taille version 1 (LSOV1) de l’adaptateur miniport. Ce paramètre doit être l’une des valeurs suivantes :

Valeur Signification
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Le pilote miniport ne doit pas modifier le paramètre actuel.
NDIS_OFFLOAD_PARAMETERS_LSOV1_DISABLED LSOV1 est désactivé.
NDIS_OFFLOAD_PARAMETERS_LSOV1_ENABLED LSOV1 est activé.

IPsecV1

Paramètre de déchargement IPsec (Internet Protocol Security) de l’adaptateur miniport. Ce paramètre doit être l’une des valeurs suivantes :

Valeur Signification
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Le pilote miniport ne doit pas modifier le paramètre actuel.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_DISABLED Le déchargement IPsec est désactivé.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_ENABLED La fonctionnalité D’en-tête d’authentification de déchargement IPsec (AH) doit être activée pour la transmission et la réception.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_ESP_ENABLED La fonctionnalité ESP (Encapsulating Security Payload) de déchargement IPsec doit être activée pour la transmission et la réception.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_AND_ESP_ENABLED Les fonctionnalités AH et ESP de déchargement IPsec sont activées pour la transmission et la réception.

LsoV2IPv4

Paramètre LSOV2 (large send offload version 2) IPv4 de l’adaptateur miniport. Ce paramètre doit être l’une des valeurs suivantes :

Valeur Signification
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Le pilote miniport ne doit pas modifier le paramètre actuel.
NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED LSOV2 pour IPv4 est désactivé.
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED LSOV2 pour IPv4 est activé.

LsoV2IPv6

Paramètre IPv6 LSOV2 de l’adaptateur miniport. Ces paramètres sont spécifiés comme l’une des valeurs suivantes :

Valeur Signification
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Le pilote miniport ne doit pas modifier le paramètre actuel.
NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED LSOV2 pour IPv6 est désactivé.
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED LSOV2 pour IPv6 est activé.

TcpConnectionIPv4

Paramètre de déchargement de connexion IPv4 de l’adaptateur miniport. Ces paramètres sont spécifiés comme l’une des valeurs suivantes :

Valeur Signification
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Le pilote miniport ne doit pas modifier le paramètre actuel.

TcpConnectionIPv6

Paramètre de déchargement de connexion IPv6 de l’adaptateur miniport. Ces paramètres sont spécifiés comme l’une des valeurs suivantes :

Valeur Signification
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Le pilote miniport ne doit pas modifier le paramètre actuel.

Flags

Ensemble d’indicateurs qui peuvent être combinés avec une opération OR au niveau du bit. Définissez ce membre sur zéro ou la valeur suivante :

Valeur Signification
NDIS_OFFLOAD_PARAMETERS_SKIP_REGISTRY_UPDATE
0x00000001
Permet à UDP Receive Segment Coalescing Offload (URO) d’être désactivé uniquement au moment de l’exécution. Les modifications apportées avec cet indicateur ne sont pas enregistrées dans le Registre.

IPsecV2

Le paramètre de déchargement IPsec (Internet Protocol Security) version 2 d’un adaptateur miniport qui prend en charge IPv6 et IPv4. Ce membre spécifie le paramètre pour la prise en charge d’IPv6 et IPv4. Ce paramètre doit être l’une des valeurs suivantes :

Valeur Signification
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Le pilote miniport ne doit pas modifier le paramètre actuel.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_DISABLED Le déchargement IPsec version 2 est désactivé.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_ENABLED La fonctionnalité D’en-tête d’authentification (AH) de déchargement IPsec version 2 doit être activée pour la transmission et la réception.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED La fonctionnalité ESP (Encapsulating Security Payload) de déchargement IPsec version 2 doit être activée pour la transmission et la réception.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_AND_ESP_ENABLED Les fonctionnalités de déchargement IPsec version 2 AH et ESP sont activées pour la transmission et la réception.

IPsecV2IPv4

Le paramètre de déchargement IPsec (Internet Protocol Security) version 2 d’un adaptateur miniport qui prend en charge IPv4 et ne prend pas en charge IPv6. Si le pilote miniport prend en charge IPv6, le membre IPsecV2 spécifie le paramètre IPv4 et ce membre n’est pas utilisé. Ce paramètre doit être l’une des valeurs suivantes :

Valeur Signification
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Le pilote miniport ne doit pas modifier le paramètre actuel.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_DISABLED Le déchargement IPsec version 2 est désactivé.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_ENABLED La fonctionnalité D’en-tête d’authentification (AH) de déchargement IPsec version 2 doit être activée pour la transmission et la réception.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED La fonctionnalité ESP (Encapsulating Security Payload) de déchargement IPsec version 2 doit être activée pour la transmission et la réception.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_AND_ESP_ENABLED Les fonctionnalités de déchargement IPsec version 2 AH et ESP sont activées pour la transmission et la réception.

RscIPv4

Indique l’état de fusion des segments de réception pour IPv4.

Valeur Signification
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE L’état RSC est inchangé.
NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED L’état RSC est activé.
NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED L’état RSC est désactivé.

RscIPv6

Indique l’état de fusion des segments de réception pour IPv6.

Valeur Signification
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE L’état RSC est inchangé.
NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED L’état RSC est activé.
NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED L’état RSC est désactivé.

EncapsulatedPacketTaskOffload

Un pilote de protocole définit EncapsuléPacketTaskOffload comme suit :

Remarque : Pour les déchargements côté réception tels que VMQ et RSS, il existe d’autres OID définis que le pilote de protocole envoie pour activer et configurer les paramètres de déchargement (par exemple, files d’attente, hachage et table d’indirection). Le membre EncapsuléPacketTaskOffload est complémentaire à ces OID et indique à la carte réseau d’effectuer également ces déchargements pour les paquets encapsulés.

Valeur Signification
NDIS_OFFLOAD_SET_NO_CHANGE
0
Les états de déchargement des tâches NVGRE et VXLAN sont inchangés.
NDIS_OFFLOAD_SET_ON
1
Active les déchargements de tâches NVGRE et VXLAN.
NDIS_OFFLOAD_SET_OFF
2
Désactive les déchargements de tâches NVGRE et VXLAN.

EncapsulationTypes

Ce champ n’est effectif que lorsque l’objet EncapsuléPacketTaskOffload a la valeur NDIS_OFFLOAD_SET_ON. Si le membre EncapsuléPacketTaskOffload n’est pas défini sur NDIS_OFFLOAD_SET_ON, ce membre est égal à zéro. Un pilote de protocole doit définir EncapsulationTypes sur le ou au niveau du bit des indicateurs correspondant aux types d’encapsulation dont il a besoin. Il peut sélectionner des indicateurs parmi les éléments suivants :

Valeur Signification
NDIS_ENCAPSULATION_TYPE_GRE_MAC
0x00000001
Spécifie l’encapsulation MAC GRE (NVGRE).
NDIS_ENCAPSULATION_TYPE_VXLAN
0x00000002
Spécifie l’encapsulation VXLAN.

EncapsulationProtocolParameters

Union qui décrit les paramètres d’encapsulation pour l’encapsulation VXLAN.

Si le pilote miniport a publié VxlanUDPPortNumerConfigurable en tant que TRUE, un pilote de protocole peut définir EncapsulationProtocolParameters.VxlanParameters.VxlanUDPPortNumber sur une valeur autre que 0. Le pilote miniport doit utiliser ce numéro de port pour mettre en correspondance et générer des trames VXLAN après avoir réussi l’OID, et publier la valeur mise à jour dans ses fonctionnalités. Si le pilote de protocole passe la valeur 0, le pilote miniport continue d’utiliser le numéro de port initialisé à partir du mot clé standardisé.

EncapsulationProtocolParameters.VxlanParameters

Structure qui contient le VxlanUDPPortNumber.

EncapsulationProtocolParameters.VxlanParameters.VxlanUDPPortNumber

Valeur du port de destination VXLAN. Cette valeur est définie sur la valeur affectée par l’IANA de 4789 par défaut. Si le pilote miniport prend en charge un numéro de port configurable tel qu’annoncé dans la structure NDIS_OFFLOAD , un pilote de protocole peut émettre un OID OID_TCP_OFFLOAD_PARAMETERS pour activer NDIS_ENCAPSULATION_TYPE_VXLAN avec une valeur différente dans VxlanUDPPortNumber. Le pilote miniport doit utiliser VxlanUDPPortNumber pour déterminer les paquets encapsulés VXLAN pour effectuer des déchargements de réception.

EncapsulationProtocolParameters.Value

Valeur de port si EncapsulationTypes n’est pas défini sur NDIS_ENCAPSULATION_TYPE_VXLAN.

_ENCAPSULATION_PROTOCOL_PARAMETERS

Nom de type pour EncapsulationProtocolParameters.

UdpSegmentation

Structure qui décrit les paramètres de déchargement de segmentation UDP (USO) de l’adaptateur miniport.

UdpSegmentation.IPv4

Paramètre de déchargement de segmentation UDP (USO) IPv4 de l’adaptateur miniport. Ce paramètre doit être l’une des valeurs suivantes :

Valeur Signification
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Le pilote miniport ne doit pas modifier le paramètre actuel.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED L’authentification uso est désactivée.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED USO est activé.

UdpSegmentation.IPv6

Paramètre de déchargement de segmentation UDP IPv6 de l’adaptateur miniport. Ce paramètre doit être l’une des valeurs suivantes :

Valeur Signification
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Le pilote miniport ne doit pas modifier le paramètre actuel.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED L’authentification uso est désactivée.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED USO est activé.

UdpRsc

Structure qui décrit les paramètres URO (Udp Receive Segment Coalescing Offload) de l’adaptateur miniport.

UdpRsc.Enabled

Paramètre URO de l’adaptateur miniport. Ce paramètre doit être l’une des valeurs suivantes :

Valeur Signification
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_NO_CHANGE
0
Le pilote miniport ne doit pas modifier le paramètre actuel.
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_DISABLED
1
URO est désactivé.
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_ENABLED
2
URO est activé.

Remarques

En réponse à une demande de jeu d’OID OID_TCP_OFFLOAD_PARAMETERS , un pilote miniport utilise les paramètres de la structure NDIS_OFFLOAD_PARAMETERS pour définir la configuration actuelle de l’adaptateur miniport.

NDIS conserve les paramètres demandés dans le Registre dans les mots clés standardisés de déchargement. Lorsque NDIS redémarre l’adaptateur miniport, le pilote miniport lit les mots clés standardisés de déchargement et les utilise pour définir la configuration de déchargement par défaut de la carte réseau.

Pour accéder aux paramètres de déchargement de somme de contrôle, utilisez les membres suivants de la structure NDIS_OFFLOAD_PARAMETERS :

IPv4Checksum

TCPIPv4Checksum

UDPIPv4Checksum

TCPIPv6Checksum

UDPIPv6Checksum

Les membres précédents peuvent avoir l’une des valeurs suivantes :

NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
Le pilote miniport ne doit pas modifier le paramètre actuel.

NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED
La fonctionnalité spécifiée par le membre est désactivée.

NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED
La fonctionnalité spécifiée par le membre est activée pour la transmission et désactivée pour la réception.

NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED
La fonctionnalité spécifiée par le membre est activée pour la réception et désactivée pour la transmission.

NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED
La fonctionnalité spécifiée par le membre est activée pour la transmission et la réception.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista, pris en charge dans NDIS 6.0 et versions ultérieures.
Serveur minimal pris en charge Windows Server 2008
En-tête ntddndis.h (inclure Ndis.h)

Voir aussi

NDIS_OBJECT_HEADER

OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES

OID_TCP_OFFLOAD_PARAMETERS