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.
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.
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.
- OID-Abfrageanforderungen von OID_QOS_OPERATIONAL_PARAMETERS und OID_QOS_REMOTE_PARAMETERS.
- OID-Methodenanforderungen von OID_QOS_PARAMETERS.
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_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE
NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE