共用方式為


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 優先順序層級。

例如,流量分類可以指定目的地 TCP 埠號碼 3260 (條件 的所有輸出封包,) 指派 802.1p 優先順序層級 3 (動作) 。

語法

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 結構。

迷你埠驅動程序必須將 HeaderType 成員設定為 NDIS_OBJECT_TYPE_QOS_CLASSIFICATION_ELEMENT。 若要指定NDIS_QOS_CLASSIFICATION_ELEMENT結構的版本,驅動程式必須將 HeaderRevision 成員設定為下列值:

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 結構中指定的流量分類參數。 如果驅動程式接受參數,則必須將網路適配器設定為執行參數所指定的流量分類。

注意這個旗標只會在迷你埠驅動程式從OID_QOS_PARAMETERS OID 方法要求傳回至 NDIS 的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 成員的指導方針

備註

流量分類會指定網路適配器套用至輸出封包數據 的條件動作 。 當配接器檢查輸出封包數據並尋找相符的分類條件時,它會將對應的動作套用至輸出封包。

注意 從 NDIS 6.30 開始,所有動作都是以 802.1p 優先順序層級為基礎。 不過,在網路適配器決定優先順序層級之後,它必須使用與優先順序層級相關聯的 NDIS QoS 流量類別的輸出原則。 優先順序層級與流量類別的關聯是在 NDIS_QOS_PARAMETERS 結構中指定。
 
NDIS_QOS_CLASSIFICATION_ELEMENT 結構會指定NDIS_QOS_PARAMETERS結構所指定之陣列中的每個流量分類專案。 此結構用於下列 OID 要求: 迷你埠驅動程式也會傳回 NDIS_QOS_PARAMETERS 結構,其中包含下列 NDIS 狀態指示中 NDIS_QOS_CLASSIFICATION_ELEMENT 結構的陣列: 如需詳細資訊,請參閱 NDIS QoS 流量分類

設定 ConditionSelector 和 ConditionField 成員的指導方針

下表定義 ConditionSelectorConditionField 成員的值範圍。
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 成員的指導方針

下表定義 ActionSelectorActionField 成員的值範圍。
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_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