структура NDIS_QOS_CLASSIFICATION_ELEMENT (ntddndis.h)
Структура NDIS_QOS_CLASSIFICATION_ELEMENT определяет классификацию трафика качества обслуживания (QoS) NDIS для сетевого адаптера, который поддерживает интерфейс IEEE 802.1 Data Center Bridging (DCB).
Каждая классификация трафика определяет следующее:
-
Условие классификации, основанное на шаблоне данных в данных исходящего пакета.
Начиная с версии 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 .
Драйвер мини-порта должен задать для элемента Типзаголовка значение NDIS_OBJECT_TYPE_QOS_CLASSIFICATION_ELEMENT. Чтобы указать версию структуры NDIS_QOS_CLASSIFICATION_ELEMENT , драйвер должен задать для элемента Revisionзаголовка следующее значение:
NDIS_QOS_CLASSIFICATION_ELEMENT_REVISION_1
Исходная версия для NDIS 6.30.
Задайте для элемента Размер значение NDIS_SIZEOF_QOS_CLASSIFICATION_ELEMENT_REVISION_1.
Flags
Значение ULONG , содержащее побитовое ИЛИ флагов, указывающих состояние классификаций трафика качества обслуживания NDIS, поддерживаемых драйвером мини-порта. Определены следующие флаги:
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 OID_QOS_OPERATIONAL_PARAMETERS и OID_QOS_REMOTE_PARAMETERS.
- Запросы метода OID OID_QOS_PARAMETERS.
Рекомендации по настройке элементов ConditionSelector и ConditionField
В следующей таблице определяется диапазон значений для элементов ConditionSelector и ConditionField .Значение ConditionSelector | Значение ConditionField |
---|---|
NDIS_QOS_CONDITION_RESERVED |
Элемент ConditionField должен иметь нулевое значение.
Примечание Это условие зарезервировано для использования в будущем.
|
NDIS_QOS_CONDITION_DEFAULT | Элемент ConditionField должен иметь нулевое значение. |
NDIS_QOS_CONDITION_TCP_PORT | Элемент ConditionField содержит значение TCP-порта 16-разрядного назначения. |
NDIS_QOS_CONDITION_UDP_PORT | Элемент ConditionField содержит 16-разрядное значение порта UDP назначения. |
NDIS_QOS_CONDITION_TCP_OR_UDP_PORT | Элемент ConditionField содержит значение порта TCP или UDP 16-разрядного назначения. |
NDIS_QOS_CONDITION_ETHERTYPE |
Элемент ConditionField содержит 16-битовое значение IEEE EtherType.
Примечание Сетевой адаптер должен определить структуру кадров пакета, чтобы проверить EtherType. Например, расположение поля EtherType отличается между кадрами Ethernet II и 802.3.
|
NDIS_QOS_CONDITION_NETDIRECT_PORT | Элемент ConditionField содержит 16-разрядное значение порта NetworkDirect. |
Если элемент ConditionSelector содержит значение NDIS_QOS_CONDITION_DEFAULT, связанное действие классификации должно применяться ко всем исходящим пакетам, которые не соответствуют никаким другим условиям классификации. Когда компонент DCB отправляет запрос метода OID OID_QOS_PARAMETERS, он может задать для ConditionSelector значение NDIS_QOS_CONDITION_DEFAULT только в первой структуре NDIS_QOS_CLASSIFICATION_ELEMENT в массиве NDIS_QOS_PARAMETERS .
Если элемент ConditionSelector содержит значение NDIS_QOS_CONDITION_NETDIRECT_PORT, драйвер мини-порта должен соответствовать элементу ConditionField с портом источника или назначения подключения NetworkDirect. Если драйвер мини-порта принимает подключение NetDirect, драйвер должен сопоставлять элемент ConditionField с исходным портом любого пакета, отправляемого через это подключение. Если драйвер мини-порта инициирует подключение NetDirect, он должен сопоставлять элемент ConditionField с портом назначения любого пакета, отправляемого через это подключение.
Дополнительные сведения о компоненте DCB см. в статье NDIS QoS Architecture for Data Center Bridging.
Рекомендации по настройке элементов ActionSelector и ActionField
В следующей таблице определяется диапазон значений для элементов ActionSelector и ActionField .Значение ActionSelector | Значение ActionField |
---|---|
NDIS_QOS_ACTION_PRIORITY | Элемент ActionField содержит 3-разрядное значение уровня приоритета IEEE 802.1p. Дополнительные сведения об этих уровнях приоритета см. в разделе Уровни приоритета IEEE 802.1p. |
Начиная с NDIS 6.30, действия классификации трафика определяют уровень приоритета IEEE 802.1p, которому назначается исходящий пакет. Когда сетевой адаптер назначает уровень приоритета исходящему пакету, адаптер также применяет параметры для класса трафика QoS NDIS, связанного с указанным уровнем приоритета. Эти параметры определяют, как сетевой адаптер передает пакет, и включают алгоритм распределения пропускной способности и выбора передачи (TSA).
Дополнительные сведения о классах трафика QoS NDIS см. в разделе Классы трафика NDIS QoS.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.30 и более поздних версиях. |
Верхняя часть | ntddndis.h (включая Ndis.h) |
См. также раздел
NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE
NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE