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


структура NDIS_QOS_CLASSIFICATION_ELEMENT (ntddndis.h)

Структура NDIS_QOS_CLASSIFICATION_ELEMENT указывает классификацию трафика NDIS Quality of Service (QoS) для сетевого адаптера, поддерживающего интерфейс IEEE 802.1 Data Center Bridging (DCB).

Каждая классификация трафика определяет следующее:

  • Условие классификации , основанное на шаблоне данных исходящего пакета.

    Начиная с версии NDIS 6.30, условия классификации основаны на 16-разрядном значении, например UDP или целевом порту TCP или mac) EthereumType.

  • Действие классификации , определяющее класс трафика, используемый для обработки пакета исходящего трафика.

    Начиная с NDIS 6.30 действия классификации указывают уровень приоритета 802.1p.

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

Драйвер минипорта должен задать для элемента типазаголовка значение NDIS_OBJECT_TYPE_QOS_CLASSIFICATION_ELEMENT. Чтобы указать версию структуры NDIS_QOS_CLASSIFICATION_ELEMENT, драйвер должен задать элемент редакциизаголовка следующим значением:

NDIS_QOS_CLASSIFICATION_ELEMENT_REVISION_1

Исходная версия для NDIS 6.30.

Задайте для элемента размер значение NDIS_SIZEOF_QOS_CLASSIFICATION_ELEMENT_REVISION_1.

Flags

Значение ULONG, содержащее побитовое ЗНАЧЕНИЕ ИЛИ флагов, указывающее состояние классификаций трафика NDIS QoS, поддерживаемых мини-драйвером. Определены следующие флаги:

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

рекомендации по настройке элементов 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.
Примечание Сетевой адаптер должен определить макет кадра пакета для проверки EthereumType. Например, расположение поля 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 для центра обработки данных.

рекомендации по настройке элементов ActionSelector и ActionField

В следующей таблице определяется диапазон значений элементов ActionSelector и ActionField.
Значение ActionSelector Значение ActionField
NDIS_QOS_ACTION_PRIORITY Элемент ActionField содержит 3-разрядное значение уровня приоритета IEEE 802.1p. Дополнительные сведения об этих уровнях приоритета см. в ieee 802.1p Priority Levels.
 

Начиная с версии NDIS 6.30 действия классификации трафика определяют уровень приоритета IEEE 802.1p, которому назначается пакет исходящего трафика. Когда сетевой адаптер назначает уровень приоритета пакету исходящего трафика, адаптер также применяет параметры для класса трафика NDIS QoS, связанного с указанным уровнем приоритета. Эти параметры определяют способ передачи пакета сетевым адаптером и включают алгоритм выделения пропускной способности и выбора передачи (TSA).

Дополнительные сведения о классах трафика качества обслуживания NDIS см. в классах трафика NDIS QoS.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается в NDIS 6.30 и более поздних версиях.
заголовка ntddndis.h (include 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