NDIS_QOS_CLASSIFICATION_ELEMENT 結構 (ntddndis.h)
NDIS_QOS_CLASSIFICATION_ELEMENT 結構會指定支援 IEEE 802.1 數據中心橋接 (DCB) 介面之網路適配器的 NDIS 服務品質 (QoS) 流量分類。
每個流量分類都會指定下列各項:
-
以輸出封包數據內數據模式為基礎的分類 條件 。
從 NDIS 6.30 開始,分類條件是以 16 位值為基礎,例如 UDP 或 TCP 目的地埠或媒體存取控制, (MAC) EtherType。
-
分類 動作 ,定義用來處理輸出封包的流量類別。
從 NDIS 6.30 開始,分類動作會指定 802.1p 優先順序層級。
語法
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;
成員
Header
NDIS_QOS_CLASSIFICATION_ELEMENT 結構的型 別、修訂和大小。 此成員的格式為 NDIS_OBJECT_HEADER 結構。
迷你埠驅動程序必須將 Header 的 Type 成員設定為 NDIS_OBJECT_TYPE_QOS_CLASSIFICATION_ELEMENT。 若要指定NDIS_QOS_CLASSIFICATION_ELEMENT結構的版本,驅動程式必須將 Header 的 Revision 成員設定為下列值:
NDIS_QOS_CLASSIFICATION_ELEMENT_REVISION_1
NDIS 6.30 的原始版本。
將 Size 成員設定為 NDIS_SIZEOF_QOS_CLASSIFICATION_ELEMENT_REVISION_1。
Flags
ULONG 值,其中包含旗標的位 OR,指定迷你埠驅動程序支援的 NDIS QoS 流量分類狀態。 定義下列旗標:
NDIS_QOS_CLASSIFICATION_ENFORCED_BY_MINIPORT
如果設定此旗標,迷你埠驅動程式會接受 NDIS_QOS_CLASSIFICATION_ELEMENT 結構中指定的流量分類參數。 如果驅動程式接受參數,則必須將網路適配器設定為執行參數所指定的流量分類。
ConditionSelector
USHORT 值,指定 ConditionField 成員中包含的數據模式類型。 例如,數據模式類型可以指定目的地 UDP 埠,其值是由 ConditionField 成員所指定。
如需詳細資訊,請參閱 設定 ConditionSelector 和 ConditionField 成員的指導方針。
ConditionField
USHORT 值,其中包含 ConditionSelector 成員指定其型別的數據模式。
如需詳細資訊,請參閱 設定 ConditionSelector 和 ConditionField 成員的指導方針。
ActionSelector
USHORT 值,指定 ActionField 成員中包含的動作資料類型。 從 NDIS 6.30 開始,動作數據類型會指定 802.1p 優先順序層級,其值是由 ConditionField 成員指定。
如需詳細資訊,請參閱 設定 ActionSelector 和 ActionField 成員的指導方針。
ActionField
USHORT 值,其中包含 ActionSelector 成員所指定類型的動作值。
如需詳細資訊,請參閱 設定 ActionSelector 和 ActionField 成員的指導方針。
備註
流量分類會指定網路適配器套用至輸出封包數據 的條件 和 動作 。 當配接器檢查輸出封包數據並尋找相符的分類條件時,它會將對應的動作套用至輸出封包。
- OID_QOS_OPERATIONAL_PARAMETERS和OID_QOS_REMOTE_PARAMETERS的 OID 查詢要求。
- OID_QOS_PARAMETERS的 OID 方法要求。
設定 ConditionSelector 和 ConditionField 成員的指導方針
下表定義 ConditionSelector 和 ConditionField 成員的值範圍。ConditionSelector 值 | ConditionField 值 |
---|---|
NDIS_QOS_CONDITION_RESERVED |
ConditionField 成員必須設定為零。
注意 此條件保留供日後使用。
|
NDIS_QOS_CONDITION_DEFAULT | ConditionField 成員必須設定為零。 |
NDIS_QOS_CONDITION_TCP_PORT | ConditionField 成員包含 16 位目的地 TCP 連接埠值。 |
NDIS_QOS_CONDITION_UDP_PORT | ConditionField 成員包含 16 位目的地 UDP 埠值。 |
NDIS_QOS_CONDITION_TCP_OR_UDP_PORT | ConditionField 成員包含 16 位目的地 TCP 或 UDP 連接埠值。 |
NDIS_QOS_CONDITION_ETHERTYPE |
ConditionField 成員包含 16 位 IEEE EtherType 值。
注意 網路適配器必須判斷封包的框架配置,才能檢查 EtherType。 例如,乙太網路II與802.3框架之間的EtherType欄位位置不同。
|
NDIS_QOS_CONDITION_NETDIRECT_PORT | ConditionField 成員包含 16 位 NetworkDirect 埠值。 |
如果 ConditionSelector 成員包含NDIS_QOS_CONDITION_DEFAULT的值,則相關聯的分類動作必須套用至不符合任何其他分類條件的所有輸出封包。 當 DCB 元件發出OID_QOS_PARAMETERS的 OID 方法要求時,它可能會將 ConditionSelector 設定為只在NDIS_QOS_PARAMETERS陣列的第一個NDIS_QOS_CLASSIFICATION_ELEMENT結構中NDIS_QOS_CONDITION_DEFAULT。
如果 ConditionSelector 成員包含 NDIS_QOS_CONDITION_NETDIRECT_PORT 值,迷你埠驅動程序必須符合 ConditionField 成員與 NetworkDirect 連線的來源或目的地埠。 如果迷你埠驅動程式接受 NetDirect 連線,驅動程式必須符合 ConditionField 成員與其透過該連線傳送之任何封包的來源埠。 如果迷你埠驅動程式起始 NetDirect 連線,它必須符合 ConditionField 成員與其透過該連線傳送之任何封包的目的地埠。
如需DCB元件的詳細資訊,請參閱 資料中心橋接的NDIS QoS 架構。
設定 ActionSelector 和 ActionField 成員的指導方針
下表定義 ActionSelector 和 ActionField 成員的值範圍。ActionSelector 值 | ActionField 值 |
---|---|
NDIS_QOS_ACTION_PRIORITY | ActionField 成員包含 3 位 IEEE 802.1p 優先順序層級值。 如需這些優先順序層級的詳細資訊,請參閱 IEEE 802.1p 優先順序層級。 |
從 NDIS 6.30 開始,流量分類動作會定義指派輸出封包的 IEEE 802.1p 優先順序層級。 當網路適配器將優先順序層級指派給輸出封包時,配接器也會套用與指定優先順序相關聯的 NDIS QoS 流量類別參數。 這些參數會決定網路適配器如何傳輸封包,並包含 (TSA) 的頻寬配置和傳輸選擇演算法。
如需 NDIS QoS 流量類別的詳細資訊,請參閱 NDIS QoS 流量類別。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.30 和更新版本支援。 |
標頭 | ntddndis.h (包括 Ndis.h) |
另請參閱
NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE
NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE