estructura NDIS_QOS_CLASSIFICATION_ELEMENT (ntddndis.h)

La estructura NDIS_QOS_CLASSIFICATION_ELEMENT especifica una clasificación de tráfico de calidad de servicio (QoS) NDIS para un adaptador de red que admite la interfaz IEEE 802.1 Data Center Bridging (DCB).

Cada clasificación de tráfico especifica lo siguiente:

  • Condición de clasificación que se basa en un patrón de datos dentro de los datos del paquete de salida.

    A partir de NDIS 6.30, las condiciones de clasificación se basan en un valor de 16 bits, como un puerto de destino UDP o TCP o un EtherType de control de acceso multimedia (MAC).

  • Acción de clasificación que define la clase de tráfico que se va a usar para controlar el paquete de salida.

    A partir de NDIS 6.30, las acciones de clasificación especifican un nivel de prioridad de 802.1p.

Por ejemplo, una clasificación de tráfico podría especificar que todos los paquetes de salida para el número de puerto TCP de destino 3260 (condición) se asignan a un nivel de prioridad 3 (acción) de 802.1p.

Sintaxis

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;

Miembros

Header

Tipo, revisión y tamaño de la estructura NDIS_QOS_CLASSIFICATION_ELEMENT . Este miembro tiene el formato de estructura NDIS_OBJECT_HEADER .

El controlador de minipuerto debe establecer el miembro Type de Header en NDIS_OBJECT_TYPE_QOS_CLASSIFICATION_ELEMENT. Para especificar la versión de la estructura de NDIS_QOS_CLASSIFICATION_ELEMENT , el controlador debe establecer el miembro Revision de Header en el siguiente valor:

NDIS_QOS_CLASSIFICATION_ELEMENT_REVISION_1

Versión original de NDIS 6.30.

Establezca el miembro Size en NDIS_SIZEOF_QOS_CLASSIFICATION_ELEMENT_REVISION_1.

Flags

Valor de ULONG que contiene un OR bit a bit de marcas que especifican el estado de las clasificaciones de tráfico QoS de NDIS que admite un controlador de minipuerto. Se definen las marcas siguientes:

NDIS_QOS_CLASSIFICATION_ENFORCED_BY_MINIPORT

Si se establece esta marca, el controlador de minipuerto acepta los parámetros de clasificación de tráfico que se especifican en la estructura NDIS_QOS_CLASSIFICATION_ELEMENT . Si el controlador acepta los parámetros, debe configurar el adaptador de red para realizar la clasificación de tráfico según lo especificado por los parámetros.

Nota Esta marca solo se establece en las estructuras de NDIS_QOS_CLASSIFICATION_ELEMENT que el controlador de miniporte devuelve a NDIS desde una solicitud de método de OID_QOS_PARAMETERS OID.
 

ConditionSelector

Valor de USHORT que especifica el tipo del patrón de datos contenido en el miembro ConditionField . Por ejemplo, el tipo de patrón de datos podría especificar un puerto UDP de destino cuyo valor es especificado por el miembro ConditionField .

Para obtener más información, vea Directrices para establecer los miembros ConditionSelector y ConditionField.

ConditionField

Valor de USHORT que contiene el patrón de datos cuyo tipo especifica el miembro ConditionSelector .

Para obtener más información, vea Directrices para establecer los miembros ConditionSelector y ConditionField.

ActionSelector

Valor de USHORT que especifica el tipo de datos de acción contenidos en el miembro ActionField . A partir de NDIS 6.30, el tipo de datos de acción especifica un nivel de prioridad de 802.1p cuyo valor especifica el miembro ConditionField .

Para obtener más información, vea Directrices para establecer los miembros ActionSelector y ActionField.

ActionField

Valor de USHORT que contiene un valor de acción cuyo tipo especifica el miembro ActionSelector .

Para obtener más información, vea Directrices para establecer los miembros ActionSelector y ActionField.

Comentarios

Una clasificación de tráfico especifica una condición y una acción que el adaptador de red aplica a los datos de paquetes de salida. Cuando el adaptador inspecciona los datos del paquete de salida y encuentra una condición de clasificación coincidente, aplica la acción correspondiente al paquete de salida.

Nota A partir de NDIS 6.30, todas las acciones se basan en niveles de prioridad de 802.1p. Sin embargo, después de que el adaptador de red determine el nivel de prioridad, debe usar las directivas de salida para la clase de tráfico QoS de NDIS asociada al nivel de prioridad. La asociación de niveles de prioridad a las clases de tráfico se especifica en la estructura NDIS_QOS_PARAMETERS .
 
La estructura NDIS_QOS_CLASSIFICATION_ELEMENT especifica cada elemento de clasificación de tráfico dentro de la matriz especificada por la estructura NDIS_QOS_PARAMETERS . Esta estructura se usa en las siguientes solicitudes de OID: El controlador de minipuerto también devuelve una estructura de NDIS_QOS_PARAMETERS que contiene una matriz de estructuras de NDIS_QOS_CLASSIFICATION_ELEMENT en las siguientes indicaciones de estado NDIS: Para obtener más información, consulte Clasificaciones de tráfico de QoS de NDIS.

Directrices para establecer los miembros ConditionSelector y ConditionField

En la tabla siguiente se define el intervalo de valores para los miembros ConditionSelector y ConditionField .
Valor conditionSelector Valor conditionField
NDIS_QOS_CONDITION_RESERVED El miembro ConditionField debe establecerse en cero.
Nota Esta condición está reservada para uso futuro.
 
NDIS_QOS_CONDITION_DEFAULT El miembro ConditionField debe establecerse en cero.
NDIS_QOS_CONDITION_TCP_PORT El miembro ConditionField contiene un valor de puerto TCP de destino de 16 bits.
NDIS_QOS_CONDITION_UDP_PORT El miembro ConditionField contiene un valor de puerto UDP de destino de 16 bits.
NDIS_QOS_CONDITION_TCP_OR_UDP_PORT El miembro ConditionField contiene un valor de puerto TCP o UDP de destino de 16 bits.
NDIS_QOS_CONDITION_ETHERTYPE El miembro ConditionField contiene un valor IEEE EtherType de 16 bits.
Nota El adaptador de red debe determinar el diseño de marco del paquete para inspeccionar etherType. Por ejemplo, la ubicación del campo EtherType es diferente entre un marco Ethernet II y 802.3.
 
NDIS_QOS_CONDITION_NETDIRECT_PORT El miembro ConditionField contiene un valor de puerto NetworkDirect de 16 bits.
 

Si el miembro ConditionSelector contiene un valor de NDIS_QOS_CONDITION_DEFAULT, la acción de clasificación asociada debe aplicarse a todos los paquetes de salida que no coincidan con ninguna otra condición de clasificación. Cuando el componente DCB emite una solicitud de método OID de OID_QOS_PARAMETERS, puede establecer ConditionSelector en NDIS_QOS_CONDITION_DEFAULT solo en la primera estructura NDIS_QOS_CLASSIFICATION_ELEMENT de la matriz NDIS_QOS_PARAMETERS .

Si el miembro ConditionSelector contiene un valor de NDIS_QOS_CONDITION_NETDIRECT_PORT, el controlador de miniporte debe coincidir con el miembro ConditionField en el puerto de origen o destino de una conexión NetworkDirect. Si el controlador de minipuerto acepta una conexión netDirect, el controlador debe coincidir con el miembro ConditionField en el puerto de origen de cualquier paquete que envíe a través de esa conexión. Si el controlador de minipuerto inicia una conexión netDirect, debe coincidir con el miembro ConditionField en el puerto de destino de cualquier paquete que envíe a través de esa conexión.

Para obtener más información sobre el componente DCB, consulte Arquitectura de QoS de NDIS para el puente del centro de datos.

Directrices para establecer los miembros ActionSelector y ActionField

En la tabla siguiente se define el intervalo de valores de los miembros ActionSelector y ActionField .
Valor actionSelector Valor actionField
NDIS_QOS_ACTION_PRIORITY El miembro ActionField contiene un valor de nivel de prioridad IEEE 802.1p de 3 bits. Para obtener más información sobre estos niveles de prioridad, consulte Ieee 802.1p Priority Levels.
 

A partir de NDIS 6.30, las acciones de clasificación del tráfico definen un nivel de prioridad IEEE 802.1p al que se asigna el paquete de salida. Cuando el adaptador de red asigna un nivel de prioridad a un paquete de salida, el adaptador también aplica los parámetros para la clase de tráfico QoS de NDIS asociada al nivel de prioridad especificado. Estos parámetros determinan cómo transmite el paquete el adaptador de red e incluyen el algoritmo de selección de transmisión y asignación de ancho de banda (TSA).

Para obtener más información sobre las clases de tráfico de QoS de NDIS, consulte Clases de tráfico de QoS de NDIS.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en NDIS 6.30 y versiones posteriores.
Encabezado ntddndis.h (include Ndis.h)

Consulte también

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