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.
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.
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.
- Solicitações de consulta OID de OID_QOS_OPERATIONAL_PARAMETERS e OID_QOS_REMOTE_PARAMETERS.
- Solicitações de método OID de OID_QOS_PARAMETERS.
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_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE
NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE