Поделиться через


структура 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.

Например, классификация трафика может указывать, что всем исходящим пакетам для целевого TCP-порта с номером 3260 (условие) назначается уровень приоритета 3 (действие) 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 . Если драйвер принимает параметры, он должен настроить сетевой адаптер для выполнения классификации трафика, как указано в параметрах.

Примечание Этот флаг устанавливается только в структурах NDIS_QOS_CLASSIFICATION_ELEMENT , которые драйвер мини-порта возвращает в NDIS из запроса метода OID_QOS_PARAMETERS OID.
 

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. Однако после того, как сетевой адаптер определит уровень приоритета, он должен использовать политики исходящего трафика для класса трафика QoS NDIS, связанного с уровнем приоритета. Связь уровней приоритета с классами трафика указывается в структуре NDIS_QOS_PARAMETERS .
 
Структура NDIS_QOS_CLASSIFICATION_ELEMENT указывает каждый элемент классификации трафика в массиве, указанном в структуре NDIS_QOS_PARAMETERS . Эта структура используется в следующих запросах OID: Драйвер мини-порта также возвращает структуру NDIS_QOS_PARAMETERS , которая содержит массив NDIS_QOS_CLASSIFICATION_ELEMENT структур в следующих обозначениях состояния NDIS: Дополнительные сведения см. в разделе Классификации трафика качества обслуживания NDIS.

Рекомендации по настройке элементов 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_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