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) |