Indicazione delle modifiche apportate ai parametri QoS NDIS operativi
Il driver miniport che supporta QoS (NDIS Quality of Service) genera un'indicazione di stato NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE quando i parametri QoS QoS del driver vengono risolti per la prima volta o quando cambiano in un secondo momento. Il driver miniport configura la scheda di rete con questi parametri operativi per eseguire la trasmissione di pacchetti QoS.
Il driver miniport deve seguire queste linee guida per l'emissione di un'indicazione di stato NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE :
Il driver miniport deve emettere un'indicazione di stato NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE dopo aver risolto i parametri NDIS QoS operativi e configurato la scheda di rete con essi.
Nota Se viene effettuato il provisioning del driver miniport con parametri NDIS QoS locali proprietari nel Registro di sistema, il driver deve emettere un'indicazione di stato NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE durante o immediatamente dopo la chiamata a MiniportInitializeEx. In questo caso, il driver inizializza una struttura NDIS_QOS_PARAMETERS con le impostazioni dei parametri NDIS QoS locali proprietarie.
Per altre informazioni su come il driver risolve le impostazioni dei parametri QoS NDIS operativi, vedere Risoluzione dei parametri QoS NDIS operativi.
Dopo questa indicazione di stato iniziale, il driver miniport dovrebbe emettere un'indicazione di stato NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE quando i parametri QoS NDIS operativi vengono modificati. Ad esempio, i parametri QoS NDIS operativi possono cambiare nelle condizioni seguenti:
I parametri QoS NDIS operativi cambiano a causa delle modifiche apportate ai parametri QoS NDIS locali. Questi parametri possono cambiare tramite una richiesta di metodo OID di OID_QOS_PARAMETERS o tramite un'applicazione di gestione sviluppata dal fornitore hardware indipendente (IHV).
I parametri QoS NDIS operativi cambiano a causa di conflitti con le impostazioni QoS del peer remoto.
Il driver miniport usa il protocollo I edizione Enterprise E 802.1Qaz Data Center Bridging Exchange (DCBX) per individuare i parametri QoS per un peer remoto. Se lo stato DCBX Willing è abilitato, il driver deve risolvere le differenze tra i parametri QoS e i parametri QoS del peer remoto seguendo le procedure definite per il motore di stato DCBX. Per altre informazioni su questo motore di stato, vedere lo standard I edizione Enterprise E 802.1Qaz draft.
Per altre informazioni sullo stato DCBX Willing locale, vedere Managing the Local DCBX Willing State.For more information about the local DCBX Willing state, see Managing the Local DCBX Willing State.
Nota Quando il driver miniport riceve parametri QoS NDIS locali o remoti, non deve emettere un'indicazione di stato NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE se non sono state apportate modifiche ai parametri QoS NDIS operativi. Se il driver rende questa indicazione di stato non necessaria, NDIS potrebbe non passare l'indicazione ai driver overlying.
Il driver miniport deve emettere un'indicazione di stato NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE quando deve eseguire l'override dei parametri QoS NDIS locali usati per risolvere i parametri QoS NDIS operativi.
Il driver miniport notifica a NDIS e al driver overlying che ha eseguito l'override dei parametri QoS NDIS locali eseguendo un'indicazione di stato NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE . Per questo tipo di indicazione, il driver deve impostare i flag NDIS_QOS_PARAMETERS_Xxx_CHANGED appropriati nel membro Flags della struttura NDIS_QOS_PARAMETERS per specificare il motivo dell'override dei parametri QoS NDIS locali.
Per altre informazioni su come il driver miniport gestisce i parametri QoS locali, vedere Impostazione dei parametri QoS NDIS locali.
Per altre informazioni su come il driver miniport risolve i parametri QoS operativi, vedere Risoluzione dei parametri QoS NDIS operativi.
Nota Il driver miniport deve emettere NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE indicazioni sullo stato se le funzionalità QoS NDIS sono attualmente abilitate tramite la parola chiave *QOS standardizzata INF. Per altre informazioni, vedere Parole chiave INF standardizzate per QoS NDIS.
Linee guida per l'emissione dell'indicazione di stato NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE
Il driver miniport segue questi passaggi quando emette l'indicazione di stato NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE :
Il driver miniport alloca un buffer sufficientemente grande da contenere quanto segue:
Struttura NDIS_QOS_PARAMETERS che contiene le impostazioni di configurazione QoS NDIS, nonché i parametri operativi globali per le classi di traffico QoS NDIS.
Matrice di strutture NDIS_QOS_CLASSIFICATION_ELEMENT. Ognuna di queste strutture specifica una classificazione del traffico definita da un modello di dati di pacchetto (condizione) e dal livello di priorità I edizione Enterprise E 802.1p (azione). Se la scheda di rete trova un modello nella trasmissione o in uscita, il pacchetto corrispondente a una condizione assegna il livello di priorità associato al pacchetto. L'adattatore applica anche gli altri criteri QoS NDIS al pacchetto in base al livello di priorità.
Il miniport inizializza la struttura NDIS_QOS_PARAMETERS con i parametri NDIS QoS operativi. Il driver deve fornire il set completo di parametri operativi, inclusi i parametri che potrebbero non essere configurati nella scheda di rete.
Quando il driver miniport inizializza il membro Header , imposta il membro Type di Header su NDIS_OBJECT_TYPE_QOS_PARAMETERS. Il driver miniport imposta il membro Revision di Header su NDIS_QOS_PARAMETERS_REVISION_1 e il membro Size su NDIS_SIZEOF_QOS_PARAMETERS_REVISION_1.
Il driver miniport imposta i flag NDIS_QOS_PARAMETERS_Xxx_CHANGED appropriati nel membro Flags se i membri corrispondenti contengono dati modificati dopo che il driver miniport ha emesso un'indicazione di stato NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE.
Nota L'impostazione dei flag NDIS_QOS_PARAMETERS_Xxx_CHANGED è facoltativa. NDIS presuppone sempre che i membri del NDIS_QOS_PARAMETERS siano correnti anche se non sono stati modificati rispetto all'indicazione di stato NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE precedente.
Per altre informazioni su come impostare il membro Flags, vedere Linee guida per l'impostazione del membro Flags.
Il driver miniport inizializza una struttura NDIS_QOS_CLASSIFICATION_ELEMENT per ogni classificazione del traffico dai parametri QoS NDIS operativi. Il driver aggiunge questi elementi alla fine della struttura NDIS_QOS_PARAMETERS nel buffer.
Nota Il driver miniport non deve impostare il flag NDIS_QOS_CLASSIFICATION_ENFORCED_BY_MINIPORT nel membro Flags di alcuna struttura NDIS_QOS_CLASSIFICATION_ELEMENT .
Il driver imposta il membro NumClassificationElements della struttura NDIS_QOS_PARAMETERS sul numero di elementi di classificazione nella matrice. Il driver imposta il membro FirstClassificationElementOffset sull'offset di byte del primo elemento dall'inizio del buffer. Il driver imposta anche il membro ClassificationElementSize sulla lunghezza, espressa in byte, di ogni elemento nella matrice.
Nota A partire da NDIS 6.30, il driver miniport deve impostare il membro ClassificationElementSize su
sizeof(NDIS_QOS_CLASSIFICATION_ELEMENT
.Il driver miniport inizializza una struttura NDIS_STATUS_INDICATION per l'indicazione dello stato nel modo seguente:
Il membro StatusCode deve essere impostato su NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE.
Il membro StatusBuffer deve essere impostato sul puntatore al buffer che contiene i parametri QoS NDIS operativi.
Il membro StatusBufferSize deve essere impostato sulla lunghezza, espressa in byte, del buffer.
Il driver miniport emette l'indicazione di stato chiamando NdisMIndicateStatusEx. Il driver deve passare un puntatore alla struttura NDIS_STATUS_INDICATION al parametro StatusIndication.
Linee guida per l'impostazione del membro flag
Il driver miniport imposta i flag seguenti nel membro Flags della struttura NDIS_QOS_PARAMETERS per specificare quali parametri operativi NDIS QoS sono stati configurati o modificati nella scheda di rete:
NDIS_QOS_PARAMETERS_ETS_CONFIGURED
Se questo flag è impostato, il driver miniport ha configurato la scheda di rete con i parametri ETS contenuti nei membri seguenti:
NumTrafficClasses
PriorityAssignmentTable
TcBandwidthAssignmentTable
TsaAssignmentTable
Nota Il driver miniport deve supportare ETS per supportare QoS NDIS per DCB. Tuttavia, l'impostazione di questo flag non specifica se la scheda di rete supporta ETS. L'impostazione di questo flag specifica invece solo se i parametri ETS sono configurati nella scheda di rete.
NDIS_QOS_PARAMETERS_ETS_CHANGED
Se questo flag è impostato, uno o più parametri ETS sono stati modificati nei membri seguenti:
NumTrafficClasses
PriorityAssignmentTable
TcBandwidthAssignmentTable
TsaAssignmentTable
NDIS_QOS_PARAMETERS_PFC_CONFIGURED
Se questo flag è impostato, il driver miniport ha configurato la scheda di rete con le impostazioni PFC contenute nel membro PfcEnable .
Nota Il driver miniport deve supportare PFC per supportare QoS NDIS per DCB. L'impostazione di questo flag non specifica se la scheda di rete supporta PFC. L'impostazione di questo flag specifica invece solo se i parametri PFC sono abilitati nella scheda di rete.
NDIS_QOS_PARAMETERS_PFC_CHANGED
Se questo flag è impostato, una o più impostazioni PFC sono state modificate nel membro PfcEnable .
NDIS_QOS_PARAMETERS_CLASSIFICATION_CONFIGURED
Se questo flag è impostato, il driver miniport ha configurato la scheda di rete con i parametri di classificazione del traffico QoS specificati nei membri seguenti:
NumClassificationElements
ClassificationElementSize
FirstClassificationElementOffset
NDIS_QOS_PARAMETERS_CLASSIFICATION_CHANGED
Se questo flag è impostato, uno o più parametri di classificazione del traffico QoS sono stati modificati nei membri seguenti:
NumClassificationElements
ClassificationElementSize
FirstClassificationElementOffset
Nota I flag NDIS_QOS_PARAMETERS_Xxx_CONFIGURED devono essere impostati se la struttura NDIS_QOS_PARAMETERS contiene le impostazioni dei parametri QoS NDIS. Il driver miniport deve impostare questi flag indipendentemente dal fatto che le impostazioni siano state modificate. Tuttavia, il driver deve impostare i flag NDIS_QOS_PARAMETERS_Xxx_CHANGED solo per le impostazioni modificate.