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.

Par exemple, une classification du trafic peut spécifier que tous les paquets de sortie pour le numéro de port TCP de destination 3260 (condition) se voient attribuer un niveau de priorité 802.1p 3 (action).

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.

Note Cet indicateur est défini uniquement dans les structures NDIS_QOS_CLASSIFICATION_ELEMENT que le pilote miniport retourne à NDIS à partir d’une demande de méthode OID OID_QOS_PARAMETERS.
 

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.

Note À compter de NDIS 6.30, toutes les actions sont basées sur des niveaux de priorité 802.1p. Toutefois, une fois que la carte réseau a déterminé le niveau de priorité, elle doit utiliser les stratégies de sortie pour la classe de trafic QoS NDIS associée au niveau de priorité. L’association des niveaux de priorité aux classes de trafic est spécifiée dans la structure NDIS_QOS_PARAMETERS .
 
La structure NDIS_QOS_CLASSIFICATION_ELEMENT spécifie chaque élément de classification du trafic dans le tableau spécifié par la structure NDIS_QOS_PARAMETERS . Cette structure est utilisée dans les requêtes OID suivantes : Le pilote miniport retourne également une structure NDIS_QOS_PARAMETERS qui contient un tableau de structures NDIS_QOS_CLASSIFICATION_ELEMENT dans les indications NDIS status suivantes : Pour plus d’informations, consultez Classifications du trafic QoS NDIS.

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_OBJECT_HEADER

NDIS_QOS_PARAMETERS

NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE

NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE

OID_QOS_OPERATIONAL_PARAMETERS

OID_QOS_PARAMETERS

OID_QOS_REMOTE_PARAMETERS