NDIS_QOS_CLASSIFICATION_ELEMENT struttura (ntddndis.h)
La struttura NDIS_QOS_CLASSIFICATION_ELEMENT specifica una classificazione del traffico QoS (NDIS Quality of Service) per una scheda di rete che supporta l'interfaccia IEEE 802.1 Data Center Bridging (DCB).
Ogni classificazione del traffico specifica quanto segue:
-
Condizione di classificazione basata su un modello di dati all'interno dei dati dei pacchetti in uscita.
A partire da NDIS 6.30, le condizioni di classificazione si basano su un valore a 16 bit, ad esempio una porta DI destinazione UDP o TCP o un controllo di accesso multimediale (MAC) EtherType.
-
Azione di classificazione che definisce la classe di traffico da usare per gestire il pacchetto in uscita.
A partire da NDIS 6.30, le azioni di classificazione specificano un livello di priorità 802.1p.
Sintassi
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;
Members
Header
Tipo, revisione e dimensione della struttura NDIS_QOS_CLASSIFICATION_ELEMENT . Questo membro viene formattato come struttura NDIS_OBJECT_HEADER .
Il driver miniport deve impostare il membro Type di Intestazione su NDIS_OBJECT_TYPE_QOS_CLASSIFICATION_ELEMENT. Per specificare la versione della struttura NDIS_QOS_CLASSIFICATION_ELEMENT , il driver deve impostare il membro Revisionedell'intestazione sul valore seguente:
NDIS_QOS_CLASSIFICATION_ELEMENT_REVISION_1
Versione originale per NDIS 6.30.
Impostare il membro Size su NDIS_SIZEOF_QOS_CLASSIFICATION_ELEMENT_REVISION_1.
Flags
Valore ULONG che contiene un OR bit per bit di flag che specificano lo stato delle classificazioni di traffico QoS NDIS supportate da un driver miniport. I flag seguenti sono definiti:
NDIS_QOS_CLASSIFICATION_ENFORCED_BY_MINIPORT
Se questo flag è impostato, il driver miniport accetta i parametri di classificazione del traffico specificati nella struttura NDIS_QOS_CLASSIFICATION_ELEMENT . Se il driver accetta i parametri, deve configurare la scheda di rete per eseguire la classificazione del traffico come specificato dai parametri.
ConditionSelector
Valore USHORT che specifica il tipo del modello di dati contenuto nel membro ConditionField . Ad esempio, il tipo di modello di dati può specificare una porta UDP di destinazione il cui valore è specificato dal membro ConditionField .
Per altre informazioni, vedere Linee guida per l'impostazione dei membri ConditionSelector e ConditionField.
ConditionField
Valore USHORT che contiene il modello di dati il cui tipo è specificato dal membro ConditionSelector .
Per altre informazioni, vedere Linee guida per l'impostazione dei membri ConditionSelector e ConditionField.
ActionSelector
Valore USHORT che specifica il tipo di dati di azione contenuti nel membro ActionField . A partire da NDIS 6.30, il tipo di dati dell'azione specifica un livello di priorità 802.1p il cui valore è specificato dal membro ConditionField .
Per altre informazioni, vedere Linee guida per l'impostazione dei membri actionSelector e ActionField.
ActionField
Valore USHORT che contiene un valore di azione il cui tipo è specificato dal membro ActionSelector .
Per altre informazioni, vedere Linee guida per l'impostazione dei membri actionSelector e ActionField.
Commenti
Una classificazione del traffico specifica una condizione e un'azione che la scheda di rete si applica ai dati dei pacchetti in uscita. Quando l'adapter controlla i dati del pacchetto in uscita e trova una condizione di classificazione corrispondente, applica l'azione corrispondente al pacchetto in uscita.
- Richieste di query OID di OID_QOS_OPERATIONAL_PARAMETERS e OID_QOS_REMOTE_PARAMETERS.
- Richieste di metodo OID di OID_QOS_PARAMETERS.
Linee guida per l'impostazione dei membri ConditionSelector e ConditionField
La tabella seguente definisce l'intervallo di valori per i membri ConditionSelector e ConditionField .Valore ConditionSelector | Valore ConditionField |
---|---|
NDIS_QOS_CONDITION_RESERVED |
Il membro ConditionField deve essere impostato su zero.
Nota Questa condizione è riservata per l'uso futuro.
|
NDIS_QOS_CONDITION_DEFAULT | Il membro ConditionField deve essere impostato su zero. |
NDIS_QOS_CONDITION_TCP_PORT | Il membro ConditionField contiene un valore di porta TCP di destinazione a 16 bit. |
NDIS_QOS_CONDITION_UDP_PORT | Il membro ConditionField contiene un valore di porta UDP a 16 bit. |
NDIS_QOS_CONDITION_TCP_OR_UDP_PORT | Il membro ConditionField contiene un valore TCP o UDP di destinazione a 16 bit. |
NDIS_QOS_CONDITION_ETHERTYPE |
Il membro ConditionField contiene un valore IEEE EtherType a 16 bit.
Nota La scheda di rete deve determinare il layout del frame del pacchetto per controllare EtherType. Ad esempio, la posizione del campo EtherType è diversa tra un frame Ethernet II e 802.3.
|
NDIS_QOS_CONDITION_NETDIRECT_PORT | Il membro ConditionField contiene un valore di porta NetworkDirect a 16 bit. |
Se il membro ConditionSelector contiene un valore di NDIS_QOS_CONDITION_DEFAULT, l'azione di classificazione associata deve essere applicata a tutti i pacchetti in uscita che non corrispondono ad altre condizioni di classificazione. Quando il componente DCB genera una richiesta di metodo OID di OID_QOS_PARAMETERS, può impostare ConditionSelector su NDIS_QOS_CONDITION_DEFAULT solo nella prima strutturaNDIS_QOS_CLASSIFICATION_ELEMENT nella matrice NDIS_QOS_PARAMETERS.
Se il membro ConditionSelector contiene un valore di NDIS_QOS_CONDITION_NETDIRECT_PORT, il driver miniport deve corrispondere al membro ConditionField rispetto alla porta di origine o di destinazione di una connessione NetworkDirect. Se il driver miniport accetta una connessione NetDirect, il driver deve corrispondere al membro ConditionField sulla porta di origine di qualsiasi pacchetto inviato tramite tale connessione. Se il driver miniport avvia una connessione NetDirect, deve corrispondere al membro ConditionField alla porta di destinazione di qualsiasi pacchetto inviato tramite tale connessione.
Per altre informazioni sul componente DCB, vedere Architettura QoS NDIS per Data Center Bridging.
Linee guida per l'impostazione dei membri actionSelector e ActionField
La tabella seguente definisce l'intervallo di valori per i membri ActionSelector e ActionField .Valore actionSelector | Valore ActionField |
---|---|
NDIS_QOS_ACTION_PRIORITY | Il membro ActionField contiene un valore di livello di priorità IEEE 802.1p a 3 bit. Per altre informazioni su questi livelli di priorità, vedere Livelli di priorità IEEE 802.1p. |
A partire da NDIS 6.30, le azioni di classificazione del traffico definiscono un livello di priorità IEEE 802.1p a cui viene assegnato il pacchetto in uscita. Quando la scheda di rete assegna un livello di priorità a un pacchetto in uscita, la scheda applica anche i parametri per la classe di traffico QoS NDIS associata al livello di priorità specificato. Questi parametri determinano come la scheda di rete trasmette il pacchetto e includono l'algoritmo di allocazione della larghezza di banda e di selezione della trasmissione (TSA).
Per altre informazioni sulle classi di traffico QoS di NDIS, vedere Classi di traffico QoS NDIS.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato in NDIS 6.30 e versioni successive. |
Intestazione | ntddndis.h (include Ndis.h) |
Vedi anche
NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE
NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE