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.
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.
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.
- Solicitudes de consulta de OID de OID_QOS_OPERATIONAL_PARAMETERS y OID_QOS_REMOTE_PARAMETERS.
- Solicitudes de método OID de OID_QOS_PARAMETERS.
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_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE
NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE