Compartilhar via


estrutura NDIS_QOS_CLASSIFICATION_ELEMENT (ntddndis.h)

A estrutura NDIS_QOS_CLASSIFICATION_ELEMENT especifica uma classificação de tráfego de QoS (Qualidade de Serviço) do NDIS para um adaptador de rede que dá suporte à interface DCB (Ponte de Data Center) do IEEE 802.1.

Cada classificação de tráfego especifica o seguinte:

  • Uma condição de classificação baseada em um padrão de dados dentro dos dados do pacote de saída.

    A partir do NDIS 6.30, as condições de classificação são baseadas em um valor de 16 bits, como uma porta de destino UDP ou TCP ou um MAC (controle de acesso de mídia) EtherType.

  • Uma ação de classificação que define a classe de tráfego a ser usada para lidar com o pacote de saída.

    A partir do NDIS 6.30, as ações de classificação especificam um nível de prioridade de 802,1p.

Por exemplo, uma classificação de tráfego pode especificar que todos os pacotes de saída para o número da porta TCP de destino 3260 (condição) recebem um nível de prioridade 3 de 802,1p (ação).

Sintaxe

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;

Membros

Header

O tipo, a revisão e o tamanho da estrutura NDIS_QOS_CLASSIFICATION_ELEMENT . Esse membro é formatado como uma estrutura NDIS_OBJECT_HEADER .

O driver de miniporte deve definir o membro Tipo de Cabeçalho como NDIS_OBJECT_TYPE_QOS_CLASSIFICATION_ELEMENT. Para especificar a versão da estrutura NDIS_QOS_CLASSIFICATION_ELEMENT , o driver deve definir o membro Revision de Header como o seguinte valor:

NDIS_QOS_CLASSIFICATION_ELEMENT_REVISION_1

Versão original do NDIS 6.30.

Defina o membro Size como NDIS_SIZEOF_QOS_CLASSIFICATION_ELEMENT_REVISION_1.

Flags

Um valor ULONG que contém um OR bit a bit de sinalizadores que especificam o estado das classificações de tráfego NDIS QoS compatíveis com um driver de miniporto. Os seguintes sinalizadores são definidos:

NDIS_QOS_CLASSIFICATION_ENFORCED_BY_MINIPORT

Se esse sinalizador for definido, o driver de miniporto aceitará os parâmetros de classificação de tráfego especificados na estrutura NDIS_QOS_CLASSIFICATION_ELEMENT . Se o driver aceitar os parâmetros, ele deverá configurar o adaptador de rede para executar a classificação de tráfego conforme especificado pelos parâmetros.

Nota Esse sinalizador é definido apenas nas estruturas de NDIS_QOS_CLASSIFICATION_ELEMENT que o driver de miniporto retorna ao NDIS de uma solicitação de método OID OID_QOS_PARAMETERS .
 

ConditionSelector

Um valor USHORT que especifica o tipo do padrão de dados contido no membro ConditionField . Por exemplo, o tipo de padrão de dados pode especificar uma porta UDP de destino cujo valor é especificado pelo membro ConditionField .

Para obter mais informações, consulte Diretrizes para definir os membros ConditionSelector e ConditionField.

ConditionField

Um valor USHORT que contém o padrão de dados cujo tipo é especificado pelo membro ConditionSelector .

Para obter mais informações, consulte Diretrizes para definir os membros ConditionSelector e ConditionField.

ActionSelector

Um valor USHORT que especifica o tipo de dados de ação contidos no membro ActionField . A partir do NDIS 6.30, o tipo de dados de ação especifica um nível de prioridade de 802,1p cujo valor é especificado pelo membro ConditionField .

Para obter mais informações, consulte Diretrizes para definir os membros ActionSelector e ActionField.

ActionField

Um valor USHORT que contém um valor de ação cujo tipo é especificado pelo membro ActionSelector .

Para obter mais informações, consulte Diretrizes para definir os membros ActionSelector e ActionField.

Comentários

Uma classificação de tráfego especifica uma condição e uma ação que o adaptador de rede aplica aos dados de pacote de saída. Quando o adaptador inspeciona os dados do pacote de saída e encontra uma condição de classificação correspondente, ele aplica a ação correspondente ao pacote de saída.

Nota A partir do NDIS 6.30, todas as ações são baseadas em níveis de prioridade de 802,1p. No entanto, depois que o adaptador de rede determinar o nível de prioridade, ele deverá usar as políticas de saída para a classe de tráfego QoS do NDIS associada ao nível de prioridade. A associação de níveis de prioridade às classes de tráfego é especificada na estrutura NDIS_QOS_PARAMETERS .
 
A estrutura NDIS_QOS_CLASSIFICATION_ELEMENT especifica cada elemento de classificação de tráfego dentro da matriz especificada pela estrutura NDIS_QOS_PARAMETERS . Essa estrutura é usada nas seguintes solicitações de OID: O driver de miniporto também retorna uma estrutura NDIS_QOS_PARAMETERS que contém uma matriz de estruturas NDIS_QOS_CLASSIFICATION_ELEMENT nas seguintes indicações de status do NDIS: Para obter mais informações, consulte Classificações de tráfego de QoS do NDIS.

Diretrizes para definir os membros ConditionSelector e ConditionField

A tabela a seguir define o intervalo de valores para os membros ConditionSelector e ConditionField .
Valor conditionSelector Valor de ConditionField
NDIS_QOS_CONDITION_RESERVED O membro ConditionField deve ser definido como zero.
Nota Essa condição é reservada para uso futuro.
 
NDIS_QOS_CONDITION_DEFAULT O membro ConditionField deve ser definido como zero.
NDIS_QOS_CONDITION_TCP_PORT O membro ConditionField contém um valor de porta TCP de destino de 16 bits.
NDIS_QOS_CONDITION_UDP_PORT O membro ConditionField contém um valor de porta UDP de destino de 16 bits.
NDIS_QOS_CONDITION_TCP_OR_UDP_PORT O membro ConditionField contém um valor de porta TCP ou UDP de destino de 16 bits.
NDIS_QOS_CONDITION_ETHERTYPE O membro ConditionField contém um valor IEEE EtherType de 16 bits.
Nota O adaptador de rede precisa determinar o layout do quadro do pacote para inspecionar o EtherType. Por exemplo, o local do campo EtherType é diferente entre um quadro Ethernet II e 802.3.
 
NDIS_QOS_CONDITION_NETDIRECT_PORT O membro ConditionField contém um valor de porta NetworkDirect de 16 bits.
 

Se o membro ConditionSelector contiver um valor de NDIS_QOS_CONDITION_DEFAULT, a ação de classificação associada deverá ser aplicada a todos os pacotes de saída que não correspondem a nenhuma outra condição de classificação. Quando o componente DCB emite uma solicitação de método OID de OID_QOS_PARAMETERS, ele pode definir o ConditionSelector como NDIS_QOS_CONDITION_DEFAULT apenas na primeira estrutura NDIS_QOS_CLASSIFICATION_ELEMENT na matriz NDIS_QOS_PARAMETERS .

Se o membro ConditionSelector contiver um valor de NDIS_QOS_CONDITION_NETDIRECT_PORT, o driver de miniporto deverá corresponder ao membro ConditionField com a porta de origem ou destino de uma conexão NetworkDirect. Se o driver de miniporto aceitar uma conexão NetDirect, o driver deverá corresponder o membro ConditionField com a porta de origem de qualquer pacote enviado por essa conexão. Se o driver de miniporto iniciar uma conexão NetDirect, ele deverá corresponder o membro ConditionField com a porta de destino de qualquer pacote enviado por essa conexão.

Para obter mais informações sobre o componente DCB, consulte NDIS QoS Architecture for Data Center Bridging.

Diretrizes para definir os membros ActionSelector e ActionField

A tabela a seguir define o intervalo de valores para os membros ActionSelector e ActionField .
Valor actionSelector Valor de ActionField
NDIS_QOS_ACTION_PRIORITY O membro ActionField contém um valor de nível de prioridade IEEE 802.1p de 3 bits. Para obter mais informações sobre esses níveis de prioridade, consulte Níveis de prioridade do IEEE 802.1p.
 

A partir do NDIS 6.30, as ações de classificação de tráfego definem um nível de prioridade do IEEE 802.1p ao qual o pacote de saída é atribuído. Quando o adaptador de rede atribui um nível de prioridade a um pacote de saída, o adaptador também aplica os parâmetros para a classe de tráfego NDIS QoS associada ao nível de prioridade especificado. Esses parâmetros determinam como o adaptador de rede transmite o pacote e incluem o TSA (algoritmo de alocação de largura de banda e seleção de transmissão).

Para obter mais informações sobre classes de tráfego QoS do NDIS, consulte Classes de tráfego QoS do NDIS.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.30 e posterior.
Cabeçalho ntddndis.h (inclua Ndis.h)

Confira também

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