Condividi tramite


NDIS_QOS_PARAMETERS struttura (ntddndis.h)

La struttura NDIS_QOS_PARAMETERS specifica i parametri NDIS Quality of Service (QoS) abilitati in una scheda di rete che supporta l'interfaccia IEEE 802.1 Data Center Bridging (DCB).

Sintassi

typedef struct _NDIS_QOS_PARAMETERS {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              NumTrafficClasses;
  UCHAR              PriorityAssignmentTable[NDIS_QOS_MAXIMUM_PRIORITIES];
  UCHAR              TcBandwidthAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
  UCHAR              TsaAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
  ULONG              PfcEnable;
  ULONG              NumClassificationElements;
  ULONG              ClassificationElementSize;
  ULONG              FirstClassificationElementOffset;
} NDIS_QOS_PARAMETERS, *PNDIS_QOS_PARAMETERS;

Members

Header

Tipo, revisione e dimensione della struttura NDIS_QOS_PARAMETERS . Questo membro viene formattato come struttura NDIS_OBJECT_HEADER .

Il driver miniport deve impostare il membro Type di Intestazione su NDIS_OBJECT_TYPE_QOS_PARAMETERS. Per specificare la versione della struttura NDIS_QOS_PARAMETERS , il driver deve impostare il membro Revisionedell'intestazione sul valore seguente:

NDIS_QOS_PARAMETERS_REVISION_1

Versione originale per NDIS 6.30 e versioni successive.

Impostare il membro Size su NDIS_SIZEOF_QOS_PARAMETERS_REVISION_1.

Flags

Valore ULONG che contiene un OR bit per bit di flag che specificano lo stato dei parametri QoS NDIS per la scheda di rete. Per altre informazioni su questo membro, vedere Panoramica del membro Flags.

NumTrafficClasses

Valore ULONG che specifica il numero di classi di traffico QoS NDIS abilitate nella scheda di rete. Ogni classe di traffico viene fatto riferimento a un identificatore nell'intervallo compreso tra zero e (NumTrafficClasses-1).

Nota Il valore del membro NumTrafficClasses deve essere minore o uguale a min(NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES, MaxNumTrafficClasses), dove MaxNumTrafficClasses è il valore del membro MaxNumTrafficClasses specificato nella struttura NDIS_QOS_CAPABILITIES.
 

PriorityAssignmentTable[NDIS_QOS_MAXIMUM_PRIORITIES]

Matrice di elementi UCHAR in cui ogni elemento rappresenta la classe di traffico associata a un livello di priorità IEEE 802.1p. La matrice PriorityAssignmentTable viene indicizzata dal livello di priorità 802.1p (0-7).

Ogni elemento contiene l'identificatore della classe di traffico. Questo identificatore è l'indice della struttura NDIS_QOS_CLASSIFICATION_ELEMENT per la classe di traffico all'interno della matrice di classificazione.

Nota Ogni elemento della matrice PriorityAssignmentTable deve essere assegnato un identificatore di classe di traffico valido. Un identificatore della classe di traffico può essere assegnato a più di un elemento nella matrice PriorityAssignmentTable .
 

TcBandwidthAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Matrice di elementi UCHAR che specifica la percentuale dell'allocazione della larghezza di banda assegnata a ogni classe di traffico. La matrice TcBandwidthAssignmentTable viene indicizzata dall'identificatore della classe di traffico.

Ogni elemento della matrice TcBandwidthAssignmentTable specifica l'allocazione della larghezza di banda per le classi di traffico. Il valore totale di tutte le assegnazioni di allocazione della larghezza di banda nella matrice TcBandwidthAssignmentTable deve essere uguale a 100.

Nota L'allocazione della larghezza di banda è supportata solo per la TSA (Enhanced Transmission Selection). Se l'elemento per la classe di traffico nella matrice TsaAssignmentTable non è impostato su NDIS_QOS_TSA_ETS, l'elemento per la classe di traffico nella matrice TcBandwidthAssignmentTable deve essere impostato su zero.
 

TsaAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Matrice di elementi UCHAR che specifica il TSA assegnato a ogni classe di traffico. La matrice TsaAssignmentTable viene indicizzata dall'identificatore della classe di traffico.

Ogni elemento della matrice TsaAssignmentTable contiene uno dei valori seguenti:

NDIS_QOS_TSA_STRICT

L'algoritmo di priorità rigorosa deve essere usato come TSA per la classe di traffico. Per altre informazioni su questa TSA, vedere Algoritmo con priorità rigorosa.

NDIS_QOS_TSA_CBS

L'algoritmo IEEE 802.1Qav (credit-based shaper) (CBS) deve essere usato come TSA per la classe di traffico.

Nota A partire da Windows Server 2012, il componente DCB (Msdcb.sys) non supporta cbS TSA e non abilita questo parametro tramite richieste di identificatore di oggetto (OID) di OID_QOS_PARAMETERS. Per altre informazioni sul componente DCB, vedere Architettura QoS NDIS per Data Center Bridging.
 

NDIS_QOS_TSA_ETS

L'algoritmo IEEE 802.1Qaz Enhanced Transmission Selection (ETS) deve essere usato come TSA per la classe di traffico. Per altre informazioni su questa TSA, vedere Algoritmo di selezione avanzata della trasmissione (ETS).

PfcEnable

Bitmap di 32 bit. I 24 bit più significativi sono riservati per l'uso futuro. I bit meno significativi vengono usati per specificare se PFC è abilitato nel livello di priorità IEEE 802.1p. Se il bit è impostato su uno, PFC è abilitato per il livello di priorità.

Intervallo di bit Significato
31:24 Riservato per utilizzi futuri.
7 Se impostato su uno, PFC è abilitato sul livello di priorità 802.1p 7 (controllo di rete).
6 Se impostato su uno, PFC è abilitato sul livello di priorità 802.1p 6 (controllo Internetwork).
5 Se impostato su uno, PFC è abilitato sul livello di priorità 802.1p 5 (voce).
4 Se impostato su uno, PFC è abilitato sul livello di priorità 802.1p 4 (video).
3 Se impostato su uno, PFC è abilitato sul livello di priorità 802.1p 3 (applicazioni critiche).
2 Se impostato su uno, PFC è abilitato sul livello di priorità 802.1p (ottimo sforzo).
1 Se impostato su uno, PFC è abilitato sul livello di priorità 802.1p (background).
0 Se impostato su uno, PFC è abilitato sul livello di priorità 802.1p (migliore sforzo).
 
Nota Il numero totale di 802.1p livelli di priorità che hanno abilitato PFC deve essere minore o uguale al valore del membro MaxNumPfcEnabledTrafficClasses nella struttura NDIS_QOS_CAPABILITIES .
 
Per altre informazioni sui livelli di priorità, vedere Livelli di priorità IEEE 802.1p.

NumClassificationElements

Valore ULONG che specifica il numero di elementi nella matrice di classificazione del traffico. L'offset del primo elemento in questa matrice viene specificato dal membro FirstClassificationElementOffset .

Nota Ogni elemento della matrice viene formattato come struttura NDIS_QOS_CLASSIFICATION_ELEMENT .
 

ClassificationElementSize

Valore ULONG che specifica le dimensioni, in byte, di ogni elemento nella matrice di classificazione del traffico.

Nota A partire da NDIS 6.30, questo membro deve essere impostato su sizeof(NDIS_QOS_CLASSIFICATION_ELEMENT).
 

FirstClassificationElementOffset

Valore ULONG che specifica l'offset, in byte, al primo elemento in una matrice di elementi di classificazione del traffico che seguono questa struttura. L'offset viene misurato dall'inizio della struttura NDIS_QOS_PARAMETERS fino all'inizio del primo elemento. Ogni elemento della matrice è una struttura NDIS_QOS_CLASSIFICATION_ELEMENT .

Nota Se NumClassificationElements è impostato su zero, questo membro viene ignorato.
 

Commenti

La struttura NDIS_QOS_PARAMETERS specifica i parametri che definiscono il modo in cui la scheda di rete assegna priorità alla trasmissione o all'uscita dei pacchetti. Questa struttura viene usata nelle richieste OID seguenti:

  • Richiesta di query OID di OID_QOS_OPERATIONAL_PARAMETERS. Questa richiesta OID restituisce i parametri QoS operativi attualmente di cui è stato eseguito il provisioning nella scheda di rete.
  • Richiesta di query OID di OID_QOS_REMOTE_PARAMETERS. Questa richiesta OID restituisce i parametri QoS remoti di cui è attualmente stato effettuato il provisioning nella scheda di rete.
  • Richieste di metodo OID di OID_QOS_PARAMETERS. Questa richiesta OID effettua il provisioning della scheda di rete con i parametri QoS locali.
Il driver miniport restituisce anche una struttura NDIS_QOS_PARAMETERS nelle indicazioni di stato NDIS seguenti: Per altre informazioni sui tipi di parametri QoS NDIS, vedere Panoramica dei parametri QoS di NDIS.

Panoramica del membro Flags

Il membro Flags contiene un or bit per bit di flag che specificano lo stato dei parametri QoS NDIS per la scheda di rete.

Il driver miniport imposta il membro Flags quando genera le indicazioni di stato NDIS seguenti:

Il componente DCB imposta il membro Flags quando genera una richiesta di metodo OID di OID_QOS_PARAMETERS.
Nota Solo il componente DCB può inviare la richiesta OID. Un protocollo overlying o un driver di filtro non deve emettere questo OID. Per altre informazioni sul componente DCB, vedere Architettura QoS NDIS per Data Center Bridging.
 
I flag seguenti sono definiti per il membro Flags .
Nota NDIS garantisce che sia i flag di NDIS_QOS_PARAMETERS_ETS_CONFIGURED che di NDIS_QOS_PARAMETERS_PFC_CONFIGURED siano impostati o cancellati insieme.
 
I flag NDIS_QOS_PARAMETERS_Xxx_CHANGED forniscono hint per stabilire se il gruppo di parametri corrispondente è cambiato da una richiesta di metodo OID_QOS_PARAMETERS precedente o NDIS_QOS_PARAMETERS_Xxx_CHANGED notifica dello stato. Quando il driver miniport genera le notifiche di stato NDIS_QOS_PARAMETERS_Xxx_CHANGED , può impostare facoltativamente questi flag.
Nota Se i flag NDIS_QOS_PARAMETERS_Xxx_CHANGED non sono impostati, i driver overlying non devono presupporre che il gruppo corrispondente di parametri sia supportato o abilitato nella scheda di rete sottostante.
 

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.30 e versioni successive.
Intestazione ntddndis.h (include Ndis.h)

Vedi anche

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OBJECT_HEADER

NDIS_QOS_CAPABILITIES

NDIS_QOS_CLASSIFICATION_ELEMENT

NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE

NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE

NdisMSetMiniportAttributes

OID_QOS_CURRENT_CAPABILITIES

OID_QOS_HARDWARE_CAPABILITIES