NDIS_QOS_CLASSIFICATION_ELEMENT-Struktur (ntddndis.h)

Die NDIS_QOS_CLASSIFICATION_ELEMENT-Struktur gibt eine QoS-Datenverkehrsklassifizierung (NDIS) für einen Netzwerkadapter an, der die DCB-Schnittstelle (IEEE 802.1 Data Center Bridging) unterstützt.

Jede Datenverkehrsklassifizierung gibt Folgendes an:

  • Eine Klassifizierungsbedingung , die auf einem Datenmuster innerhalb der ausgehenden Paketdaten basiert.

    Ab NDIS 6.30 basieren die Klassifizierungsbedingungen auf einem 16-Bit-Wert, z. B. einem UDP- oder TCP-Zielport oder einem Media Access Control (MAC) EtherType.

  • Eine Klassifizierungsaktion , die die Datenverkehrsklasse definiert, die zum Verarbeiten des ausgehenden Pakets verwendet werden soll.

    Ab NDIS 6.30 geben Klassifizierungsaktionen eine Prioritätsstufe von 802.1p an.

Beispielsweise könnte eine Datenverkehrsklassifizierung angeben, dass allen ausgehenden Paketen für die TCP-Zielportnummer 3260 (Bedingung) eine 802.1p-Prioritätsstufe 3 (Aktion) zugewiesen wird.

Syntax

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;

Member

Header

Der Typ, die Revision und die Größe der NDIS_QOS_CLASSIFICATION_ELEMENT Struktur. Dieses Element ist als NDIS_OBJECT_HEADER-Struktur formatiert.

Der Miniporttreiber muss das Type-Element von Header auf NDIS_OBJECT_TYPE_QOS_CLASSIFICATION_ELEMENT festlegen. Um die Version der NDIS_QOS_CLASSIFICATION_ELEMENT-Struktur anzugeben, muss der Treiber das Revisionselement des Headers auf den folgenden Wert festlegen:

NDIS_QOS_CLASSIFICATION_ELEMENT_REVISION_1

Ursprüngliche Version für NDIS 6.30.

Legen Sie das Element Größe auf NDIS_SIZEOF_QOS_CLASSIFICATION_ELEMENT_REVISION_1 fest.

Flags

Ein ULONG-Wert , der ein bitweises OR von Flags enthält, die den Zustand der NDIS-QoS-Datenverkehrsklassifizierungen angeben, die ein Miniporttreiber unterstützt. Die folgenden Flags werden definiert:

NDIS_QOS_CLASSIFICATION_ENFORCED_BY_MINIPORT

Wenn dieses Flag festgelegt ist, akzeptiert der Miniporttreiber die Parameter für die Datenverkehrsklassifizierung, die in der NDIS_QOS_CLASSIFICATION_ELEMENT-Struktur angegeben sind. Wenn der Treiber die Parameter akzeptiert, muss er den Netzwerkadapter konfigurieren, um die Datenverkehrsklassifizierung gemäß den Parametern auszuführen.

Hinweis Dieses Flag wird nur in den NDIS_QOS_CLASSIFICATION_ELEMENT-Strukturen festgelegt, die der Miniporttreiber aus einer OID_QOS_PARAMETERS OID-Methodenanforderung an NDIS zurückgibt.
 

ConditionSelector

Ein USHORT-Wert , der den Typ des Datenmusters angibt, das im ConditionField-Element enthalten ist. Der Datenmustertyp könnte beispielsweise einen UDP-Zielport angeben, dessen Wert vom ConditionField-Element angegeben wird.

Weitere Informationen finden Sie unter Richtlinien zum Festlegen der ConditionSelector- und ConditionField-Member.

ConditionField

Ein USHORT-Wert , der das Datenmuster enthält, dessen Typ vom ConditionSelector-Element angegeben wird.

Weitere Informationen finden Sie unter Richtlinien zum Festlegen der ConditionSelector- und ConditionField-Member.

ActionSelector

Ein USHORT-Wert , der den Typ der Aktionsdaten angibt, die im ActionField-Element enthalten sind. Ab NDIS 6.30 gibt der Aktionsdatentyp eine Prioritätsebene von 802.1p an, deren Wert vom ConditionField-Element angegeben wird.

Weitere Informationen finden Sie unter Richtlinien zum Festlegen der Elemente ActionSelector und ActionField.

ActionField

Ein USHORT-Wert , der einen Aktionswert enthält, dessen Typ vom ActionSelector-Element angegeben wird.

Weitere Informationen finden Sie unter Richtlinien zum Festlegen der Elemente ActionSelector und ActionField.

Hinweise

Eine Datenverkehrsklassifizierung gibt eine Bedingung und eine Aktion an, die der Netzwerkadapter auf ausgehende Paketdaten anwendet. Wenn der Adapter die ausgehenden Paketdaten überprüft und eine übereinstimmende Klassifizierungsbedingung findet, wendet er die entsprechende Aktion auf das ausgehende Paket an.

Hinweis Ab NDIS 6.30 basieren alle Aktionen auf 802.1p-Prioritätsstufen. Nachdem der Netzwerkadapter jedoch die Prioritätsebene ermittelt hat, muss er die Ausgangsrichtlinien für die NDIS-QoS-Datenverkehrsklasse verwenden, die der Prioritätsebene zugeordnet ist. Die Zuordnung von Prioritätsebenen zu Datenverkehrsklassen wird in der NDIS_QOS_PARAMETERS-Struktur angegeben.
 
Die NDIS_QOS_CLASSIFICATION_ELEMENT-Struktur gibt jedes Datenverkehrsklassifizierungselement innerhalb des Arrays an, das von der NDIS_QOS_PARAMETERS-Struktur angegeben wird. Diese Struktur wird in den folgenden OID-Anforderungen verwendet: Der Miniporttreiber gibt auch eine NDIS_QOS_PARAMETERS-Struktur zurück, die ein Array von NDIS_QOS_CLASSIFICATION_ELEMENT Strukturen in den folgenden NDIS-status-Indikationen enthält: Weitere Informationen finden Sie unter NDIS QoS-Datenverkehrsklassifizierungen.

Richtlinien zum Festlegen der ConditionSelector- und ConditionField-Member

In der folgenden Tabelle wird der Wertebereich für die Member ConditionSelector und ConditionField definiert.
ConditionSelector-Wert ConditionField-Wert
NDIS_QOS_CONDITION_RESERVED Der ConditionField-Member muss auf 0 festgelegt werden.
Hinweis Diese Bedingung ist für die zukünftige Verwendung reserviert.
 
NDIS_QOS_CONDITION_DEFAULT Der ConditionField-Member muss auf 0 festgelegt werden.
NDIS_QOS_CONDITION_TCP_PORT Das ConditionField-Element enthält einen 16-Bit-TCP-Zielportwert.
NDIS_QOS_CONDITION_UDP_PORT Das ConditionField-Element enthält einen 16-Bit-UDP-Zielportwert.
NDIS_QOS_CONDITION_TCP_OR_UDP_PORT Das ConditionField-Element enthält einen 16-Bit-Ziel-TCP- oder UDP-Portwert.
NDIS_QOS_CONDITION_ETHERTYPE Das ConditionField-Element enthält einen 16-Bit-IEEE-EtherType-Wert.
Hinweis Der Netzwerkadapter muss das Framelayout des Pakets bestimmen, um den EtherType zu untersuchen. Beispielsweise unterscheidet sich die Position des EtherType-Felds zwischen einem Ethernet II- und 802.3-Frame.
 
NDIS_QOS_CONDITION_NETDIRECT_PORT Das ConditionField-Element enthält einen 16-Bit-NetworkDirect-Portwert.
 

Wenn der ConditionSelector-Member den Wert NDIS_QOS_CONDITION_DEFAULT enthält, muss die zugehörige Klassifizierungsaktion auf alle ausgehenden Pakete angewendet werden, die keine anderen Klassifizierungsbedingungen erfüllt haben. Wenn die DCB-Komponente eine OID-Methodenanforderung von OID_QOS_PARAMETERS ausgibt, kann sie den ConditionSelector auf NDIS_QOS_CONDITION_DEFAULT nur in der ersten NDIS_QOS_CLASSIFICATION_ELEMENT-Struktur im NDIS_QOS_PARAMETERS-Array festlegen.

Wenn das ConditionSelector-Element den Wert NDIS_QOS_CONDITION_NETDIRECT_PORT enthält, muss der Miniporttreiber den ConditionField-Member mit dem Quell- oder Zielport einer NetworkDirect-Verbindung abgleichen. Wenn der Miniporttreiber eine NetDirect-Verbindung akzeptiert, muss der Treiber den ConditionField-Member mit dem Quellport eines pakets abgleichen, das er über diese Verbindung sendet. Wenn der Miniporttreiber eine NetDirect-Verbindung initiiert, muss er den ConditionField-Member mit dem Zielport eines pakets abgleichen, das er über diese Verbindung sendet.

Weitere Informationen zur DCB-Komponente finden Sie unter NDIS QoS Architecture for Data Center Bridging.

Richtlinien zum Festlegen der Elemente ActionSelector und ActionField

In der folgenden Tabelle wird der Wertebereich für die Member ActionSelector und ActionField definiert.
ActionSelector-Wert ActionField-Wert
NDIS_QOS_ACTION_PRIORITY Das ActionField-Element enthält einen 3-Bit-IEEE 802.1p-Prioritätsebenenwert. Weitere Informationen zu diesen Prioritätsstufen finden Sie unter IEEE 802.1p Priority Levels.
 

Ab NDIS 6.30 definieren Verkehrsklassifizierungsaktionen eine IEEE 802.1p-Prioritätsebene, der das ausgehende Paket zugewiesen ist. Wenn der Netzwerkadapter einem ausgehenden Paket eine Prioritätsebene zuweist, wendet der Adapter auch die Parameter für die NDIS-QoS-Datenverkehrsklasse an, die der angegebenen Prioritätsebene zugeordnet ist. Diese Parameter bestimmen, wie der Netzwerkadapter das Paket überträgt, und umfassen bandbreitenzuordnung und Übertragungsauswahlalgorithmus (TSA).

Weitere Informationen zu NDIS-QoS-Datenverkehrsklassen finden Sie unter NDIS QoS-Datenverkehrsklassen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.30 und höher.
Kopfzeile ntddndis.h (include Ndis.h)

Weitere Informationen

NDIS_OBJECT_HEADER

NDIS_QOS_PARAMETERS

NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE

NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE

OID_QOS_OPERATIONAL_PARAMETERS

OID_QOS_PARAMETERS

OID_QOS_REMOTE_PARAMETERS