Indicando alterações nos parâmetros operacionais de QoS do NDIS
O driver de miniporta que suporta Qualidade de Serviço (QoS) NDIS emite uma indicação de status NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE quando os parâmetros operacionais de QoS NDIS do driver são resolvidos pela primeira vez ou quando são alterados posteriormente. O driver de miniporta configura o adaptador de rede com esses parâmetros operacionais para executar a transmissão de pacotes QoS.
O driver da miniporta deve seguir estas diretrizes para emitir uma indicação de status NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE:
O driver de miniporta deve emitir uma indicação de estado NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE depois de ter resolvido os seus parâmetros operacionais NDIS QoS e configurado o adaptador de rede com eles.
Observação Se o driver de miniporta for configurado com parâmetros de QoS NDIS locais proprietários no registo, o driver deverá emitir uma indicação de status NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE durante ou imediatamente após a chamada para MiniportInitializeEx. Nesse caso, o driver inicializa uma estrutura de NDIS_QOS_PARAMETERS com as suas configurações de parâmetros NDIS QoS locais proprietárias.
Para obter mais informações sobre como o driver resolve suas configurações de parâmetros operacionais de QoS do NDIS, consulte Resolvendo parâmetros operacionais de QoS do NDIS.
Após essa indicação de status inicial, o driver de miniporta deve emitir uma indicação de status NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE quando seus parâmetros operacionais de QoS NDIS forem alterados. Por exemplo, os parâmetros operacionais de QoS do NDIS podem mudar nas seguintes condições:
Os parâmetros operacionais de QoS do NDIS mudam devido a alterações nos parâmetros locais de QoS do NDIS. Esses parâmetros podem mudar por meio de uma solicitação de método OID de OID_QOS_PARAMETERS ou por meio de um aplicativo de gerenciamento desenvolvido pelo fornecedor independente de hardware (IHV).
Os parâmetros operacionais de QoS do NDIS mudam devido a conflitos com as configurações de QoS do par remoto.
O driver de miniporta usa o protocolo IEEE 802.1Qaz Data Center Bridging Exchange (DCBX) para descobrir os parâmetros de Qualidade de Serviço (QoS) para um parceiro remoto. Se o estado DCBX Willing estiver habilitado, o driver deverá resolver as diferenças entre seus parâmetros de QoS e os parâmetros de QoS do peer remoto seguindo os procedimentos definidos para o mecanismo de estado DCBX. Para obter mais informações sobre esse mecanismo de estado, consulte o padrão preliminar IEEE 802.1Qaz.
Para obter mais informações sobre o estado DCBX Willing local, consulte Managing the Local DCBX Willing State.
Observação Quando o driver de miniporta recebe parâmetros de QoS NDIS locais ou remotos, ele não deve emitir uma indicação de status NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE se não houver alterações nos parâmetros operacionais de QoS do NDIS. Se o condutor fizer esta indicação de estado desnecessária, o NDIS pode não passar a indicação aos condutores sobrepostos.
O driver de miniporta deve emitir uma indicação de status NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE quando precisar substituir os parâmetros locais de QoS do NDIS que foram usados para resolver os parâmetros operacionais de QoS do NDIS.
O driver de miniporta notifica o NDIS e o driver sobrejacente de que ele substituiu os parâmetros locais de QoS do NDIS emitindo uma indicação de status NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE. Para este tipo de indicação, o controlador deve definir os sinalizadores apropriados NDIS_QOS_PARAMETERS_Xxx_CHANGED no membro Flags da estrutura NDIS_QOS_PARAMETERS para especificar o motivo para substituir os parâmetros locais NDIS QoS.
Para obter mais informações sobre como o driver de miniporta gerencia os parâmetros de QoS locais, consulte Setting Local NDIS QoS Parameters.
Para obter mais informações sobre como o driver de miniporta resolve os seus parâmetros operacionais de QoS, consulte Resolução de Parâmetros Operacionais de QoS NDIS.
Nota O driver de miniporta deve emitir NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE indicações de estado, se os seus recursos de NDIS QoS estiverem atualmente habilitados por meio da palavra-chave INF padronizada *QOS. Para obter mais informações, consulte Palavras-chave INF padronizadas para NDIS QoS.
Diretrizes para a emissão da indicação do estado NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE
O controlador de miniporto segue estes passos quando emite a indicação de status NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE:
O driver de miniporta aloca um buffer que é grande o suficiente para conter o seguinte:
Uma estrutura NDIS_QOS_PARAMETERS que contém as definições de configuração de QoS do NDIS, bem como parâmetros operacionais globais para as classes de tráfego de QoS do NDIS.
Uma série de estruturas NDIS_QOS_CLASSIFICATION_ELEMENT. Cada uma dessas estruturas especifica uma classificação de tráfego conforme definido por um padrão de dados de pacote (condição) e nível de prioridade IEEE 802.1p associado (ação). Se o adaptador de rede encontrar um padrão no pacote de transmissão ou saída, que corresponda a uma condição, ele atribuirá o nível de prioridade associado ao pacote. O adaptador também aplica as outras políticas de QoS NDIS ao pacote com base no nível de prioridade.
A miniporta inicializa a estrutura NDIS_QOS_PARAMETERS com os parâmetros operacionais NDIS QoS. O driver deve fornecer o conjunto completo de parâmetros operacionais, incluindo os parâmetros que podem não ser configurados no adaptador de rede.
Quando o driver de miniporta inicializa o membro de Cabeçalho, ele define o membro Tipo do Cabeçalho como NDIS_OBJECT_TYPE_QOS_PARAMETERS. O driver de miniporta define o membro Revisão de Cabeçalho para NDIS_QOS_PARAMETERS_REVISION_1 e o membro Tamanho para NDIS_SIZEOF_QOS_PARAMETERS_REVISION_1.
O driver de miniporta define os sinalizadores adequados NDIS_QOS_PARAMETERS_Xxx_CHANGED no Flags membro, se os membros correspondentes contiverem dados que foram alterados desde que o driver de miniporta emitiu uma indicação de status NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE.
Observação Definir as bandeiras NDIS_QOS_PARAMETERS_Xxx_CHANGED é opcional. O NDIS sempre assume que os membros do NDIS_QOS_PARAMETERS estão atualizados, mesmo que não tenham mudado da indicação de status NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE anterior.
Para obter mais informações sobre como definir o membro Flags, consulte as Diretrizes para definir o membro Flags.
O miniport driver inicializa uma estrutura de NDIS_QOS_CLASSIFICATION_ELEMENT para cada classificação de tráfego a partir dos parâmetros operacionais NDIS QoS. O driver adiciona esses elementos no final da estrutura de NDIS_QOS_PARAMETERS na memória intermédia.
Nota O driver de miniporta não deve definir o sinalizador NDIS_QOS_CLASSIFICATION_ENFORCED_BY_MINIPORT em nenhum membro Flags de qualquer estrutura NDIS_QOS_CLASSIFICATION_ELEMENT.
O driver define o NumClassificationElements membro da estrutura NDIS_QOS_PARAMETERS para o número de elementos de classificação na matriz. O driver atribui o membro FirstClassificationElementOffset ao deslocamento em bytes do primeiro elemento desde o início do buffer. O driver também define o membro ClassificationElementSize para o comprimento, em bytes, de cada elemento na matriz .
Observação A partir do NDIS 6.30, o driver de miniporta deve definir o membro ClassificationElementSize como
sizeof(NDIS_QOS_CLASSIFICATION_ELEMENT
).O driver de miniporta inicializa uma estrutura NDIS_STATUS_INDICATION para a indicação de estado da seguinte forma:
O membro StatusCode deve ser definido como NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE.
O membro StatusBuffer deve ser configurado para apontar para o buffer que contém os parâmetros NDIS QoS operacionais.
O membro StatusBufferSize deve ser definido para indicar o comprimento, em bytes, do buffer.
O miniport driver emite a indicação de estado chamando NdisMIndicateStatusEx. O driver deve passar um ponteiro da estrutura NDIS_STATUS_INDICATION para o parâmetro StatusIndication .
Diretrizes para definir o membro Flags
O driver de miniporta define os seguintes sinalizadores no Flags membro da estrutura NDIS_QOS_PARAMETERS para especificar quais parâmetros operacionais NDIS QoS foram configurados ou alterados no adaptador de rede:
NDIS_QOS_PARAMETERS_ETS_CONFIGURED
Se este indicador estiver definido, o miniport driver configurou o adaptador de rede com os parâmetros ETS contidos nos membros seguintes:
NúmeroDeClassesDeTráfego
TabelaDeAtribuiçãoDePrioridade
TcBandwidthAssignmentTable
TsaAssignmentTable
Nota O driver de miniport deve oferecer suporte a ETS para dar suporte a NDIS QoS para DCB. No entanto, a configuração desse sinalizador não especifica se o adaptador de rede suporta ETS. Em vez disso, a configuração desse sinalizador especifica apenas se os parâmetros ETS estão configurados no adaptador de rede.
NDIS_QOS_PARAMETERS_ETS_CHANGED
Se esse sinalizador for definido, um ou mais parâmetros do ETS foram alterados nos seguintes membros:
NumTrafficClasses
TabelaDeAtribuicaoDePrioridade
TcBandwidthAssignmentTable
TsaAssignmentTable
NDIS_QOS_PARAMETERS_PFC_CONFIGURED
Se esta bandeira estiver definida, o motorista de miniporta configurou o adaptador de rede com as configurações de PFC contidas no membro PfcEnable.
Nota O driver de miniporta deve suportar PFC para suportar NDIS QoS para DCB. A configuração desse sinalizador não especifica se o adaptador de rede suporta PFC. Em vez disso, a configuração desse sinalizador especifica apenas se os parâmetros PFC estão habilitados no adaptador de rede.
NDIS_QOS_PARAMETERS_PFC_CHANGED
Se este sinalizador estiver definido, uma ou mais configurações de PFC foram alteradas no membro PfcEnable.
NDIS_QOS_PARAMETERS_CLASSIFICATION_CONFIGURED
Se este indicador estiver ativado, o driver de miniporta configurou o adaptador de rede com os parâmetros de classificação de tráfego QoS especificados nos seguintes membros:
NumClassificationElements
ClassificationElementSize
FirstClassificationElementOffset
NDIS_QOS_PARAMETERS_CLASSIFICATION_CHANGED
Se esse sinalizador estiver definido, um ou mais parâmetros de classificação de tráfego de QoS foram alterados nos seguintes membros:
NumClassificationElements
ClassificationElementSize
FirstClassificationElementOffset
Observação Os sinalizadores_CONFIGURED NDIS_QOS_PARAMETERS_Xxx devem ser definidos se a estrutura NDIS_QOS_PARAMETERS contiver configurações de parâmetros NDIS QoS. O driver de miniporta deve definir esses sinalizadores, independentemente de as configurações terem sido alteradas. No entanto, o driver deve definir os sinalizadores de NDIS_QOS_PARAMETERS_Xxx_CHANGED apenas para as configurações que foram alteradas.