structure NDIS_QOS_CLASSIFICATION_ELEMENT (ntddndis.h)
La structure NDIS_QOS_CLASSIFICATION_ELEMENT spécifie une classification du trafic NDIS Quality of Service (QoS) pour une carte réseau qui prend en charge l’interface IEEE 802.1 Data Center Bridging (DCB).
Chaque classification du trafic spécifie les éléments suivants :
-
Condition de classification basée sur un modèle de données dans les données de paquet de sortie.
À compter de NDIS 6.30, les conditions de classification sont basées sur une valeur 16 bits, telle qu’un port de destination UDP ou TCP ou un etherType de contrôle d’accès multimédia (MAC).
-
Action de classification qui définit la classe de trafic à utiliser pour gérer le paquet de sortie.
À compter de NDIS 6.30, les actions de classification spécifient un niveau de priorité 802.1p.
Syntaxe
typedef struct _NDIS_QOS_CLASSIFICATION_ELEMENT {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
USHORT ConditionSelector;
USHORT ConditionField;
USHORT ActionSelector;
USHORT ActionField;
} NDIS_QOS_CLASSIFICATION_ELEMENT, *PNDIS_QOS_CLASSIFICATION_ELEMENT;
Membres
Header
Type, révision et taille de la structure NDIS_QOS_CLASSIFICATION_ELEMENT . Ce membre est mis en forme en tant que structure NDIS_OBJECT_HEADER .
Le pilote miniport doit définir le membre Type de l’en-tête sur NDIS_OBJECT_TYPE_QOS_CLASSIFICATION_ELEMENT. Pour spécifier la version de la structure NDIS_QOS_CLASSIFICATION_ELEMENT , le pilote doit définir le membre Revision de Header sur la valeur suivante :
NDIS_QOS_CLASSIFICATION_ELEMENT_REVISION_1
Version d’origine pour NDIS 6.30.
Définissez le membre Size sur NDIS_SIZEOF_QOS_CLASSIFICATION_ELEMENT_REVISION_1.
Flags
Valeur ULONG qui contient un OR au niveau du bit d’indicateurs qui spécifient l’état des classifications de trafic QoS NDIS qu’un pilote miniport prend en charge. Les indicateurs suivants sont définis :
NDIS_QOS_CLASSIFICATION_ENFORCED_BY_MINIPORT
Si cet indicateur est défini, le pilote miniport accepte les paramètres de classification du trafic spécifiés dans la structure NDIS_QOS_CLASSIFICATION_ELEMENT . Si le pilote accepte les paramètres, il doit configurer la carte réseau pour effectuer la classification du trafic comme spécifié par les paramètres.
ConditionSelector
Valeur USHORT qui spécifie le type du modèle de données contenu dans le membre ConditionField . Par exemple, le type de modèle de données peut spécifier un port UDP de destination dont la valeur est spécifiée par le membre ConditionField .
Pour plus d’informations, consultez Recommandations relatives à la définition des membres ConditionSelector et ConditionField.
ConditionField
Valeur USHORT qui contient le modèle de données dont le type est spécifié par le membre ConditionSelector .
Pour plus d’informations, consultez Recommandations relatives à la définition des membres ConditionSelector et ConditionField.
ActionSelector
Valeur USHORT qui spécifie le type de données d’action contenues dans le membre ActionField . À compter de NDIS 6.30, le type de données d’action spécifie un niveau de priorité 802.1p dont la valeur est spécifiée par le membre ConditionField .
Pour plus d’informations, consultez Recommandations pour définir les membres ActionSelector et ActionField.
ActionField
Valeur USHORT qui contient une valeur d’action dont le type est spécifié par le membre ActionSelector .
Pour plus d’informations, consultez Recommandations pour définir les membres ActionSelector et ActionField.
Remarques
Une classification du trafic spécifie une condition et une action que la carte réseau applique aux données de paquet de sortie. Lorsque l’adaptateur inspecte les données de paquet de sortie et trouve une condition de classification correspondante, il applique l’action correspondante au paquet de sortie.
- Requêtes OID de OID_QOS_OPERATIONAL_PARAMETERS et de OID_QOS_REMOTE_PARAMETERS.
- Demandes de méthode OID de OID_QOS_PARAMETERS.
Instructions pour définir les membres ConditionSelector et ConditionField
Le tableau suivant définit la plage de valeurs pour les membres ConditionSelector et ConditionField .ConditionSelector, valeur | Valeur conditionField |
---|---|
NDIS_QOS_CONDITION_RESERVED |
Le membre ConditionField doit être défini sur zéro.
Note Cette condition est réservée à une utilisation ultérieure.
|
NDIS_QOS_CONDITION_DEFAULT | Le membre ConditionField doit être défini sur zéro. |
NDIS_QOS_CONDITION_TCP_PORT | Le membre ConditionField contient une valeur de port TCP de destination 16 bits. |
NDIS_QOS_CONDITION_UDP_PORT | Le membre ConditionField contient une valeur de port UDP de destination 16 bits. |
NDIS_QOS_CONDITION_TCP_OR_UDP_PORT | Le membre ConditionField contient une valeur de port TCP ou UDP de destination 16 bits. |
NDIS_QOS_CONDITION_ETHERTYPE |
Le membre ConditionField contient une valeur IEEE EtherType 16 bits.
Note La carte réseau doit déterminer la disposition de trame du paquet afin d’inspecter l’EtherType. Par exemple, l’emplacement du champ EtherType est différent entre une trame Ethernet II et 802.3.
|
NDIS_QOS_CONDITION_NETDIRECT_PORT | Le membre ConditionField contient une valeur de port NetworkDirect 16 bits. |
Si le membre ConditionSelector contient une valeur de NDIS_QOS_CONDITION_DEFAULT, l’action de classification associée doit être appliquée à tous les paquets de sortie qui ne correspondent à aucune autre condition de classification. Lorsque le composant DCB émet une demande de méthode OID de OID_QOS_PARAMETERS, il peut définir ConditionSelector sur NDIS_QOS_CONDITION_DEFAULT uniquement dans la première structure NDIS_QOS_CLASSIFICATION_ELEMENT du tableau de NDIS_QOS_PARAMETERS .
Si le membre ConditionSelector contient une valeur de NDIS_QOS_CONDITION_NETDIRECT_PORT, le pilote miniport doit correspondre au membre ConditionField par rapport au port source ou de destination d’une connexion NetworkDirect. Si le pilote miniport accepte une connexion NetDirect, le pilote doit faire correspondre le membre ConditionField au port source de tout paquet qu’il envoie sur cette connexion. Si le pilote miniport initie une connexion NetDirect, il doit faire correspondre le membre ConditionField au port de destination de tout paquet qu’il envoie via cette connexion.
Pour plus d’informations sur le composant DCB, consultez Architecture qoS NDIS pour le pontage du centre de données.
Instructions relatives à la définition des membres ActionSelector et ActionField
Le tableau suivant définit la plage de valeurs pour les membres ActionSelector et ActionField .Valeur ActionSelector | Valeur ActionField |
---|---|
NDIS_QOS_ACTION_PRIORITY | Le membre ActionField contient une valeur de niveau de priorité IEEE 802.1p 3 bits. Pour plus d’informations sur ces niveaux de priorité, consultez Niveaux de priorité IEEE 802.1p. |
À compter de NDIS 6.30, les actions de classification du trafic définissent un niveau de priorité IEEE 802.1p auquel le paquet de sortie est affecté. Lorsque la carte réseau affecte un niveau de priorité à un paquet de sortie, la carte applique également les paramètres de la classe de trafic QoS NDIS associée au niveau de priorité spécifié. Ces paramètres déterminent la façon dont la carte réseau transmet le paquet et incluent l’algorithme d’allocation de bande passante et de sélection de transmission (TSA).
Pour plus d’informations sur les classes de trafic QoS NDIS, consultez Classes de trafic QoS NDIS.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.30 et versions ultérieures. |
En-tête | ntddndis.h (inclure Ndis.h) |
Voir aussi
NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE
NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE