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


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

Структура NDIS_QOS_PARAMETERS задает параметры качества обслуживания (QoS) NDIS, которые включены в сетевом адаптере, поддерживающем интерфейс DCB ieee 802.1.

Синтаксис

typedef struct _NDIS_QOS_PARAMETERS {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              NumTrafficClasses;
  UCHAR              PriorityAssignmentTable[NDIS_QOS_MAXIMUM_PRIORITIES];
  UCHAR              TcBandwidthAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
  UCHAR              TsaAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES];
  ULONG              PfcEnable;
  ULONG              NumClassificationElements;
  ULONG              ClassificationElementSize;
  ULONG              FirstClassificationElementOffset;
} NDIS_QOS_PARAMETERS, *PNDIS_QOS_PARAMETERS;

Члены

Header

Тип, редакция и размер структуры NDIS_QOS_PARAMETERS . Этот элемент отформатирован как структура NDIS_OBJECT_HEADER .

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

NDIS_QOS_PARAMETERS_REVISION_1

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

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

Flags

Значение ULONG , содержащее побитовое ИЛИ флагов, указывающих состояние параметров качества обслуживания NDIS для сетевого адаптера. Дополнительные сведения об этом элементе см. в статье Общие сведения об элементе Flags.

NumTrafficClasses

Значение ULONG , указывающее количество классов трафика QoS NDIS, включенных в сетевом адаптере. Каждый класс трафика ссылается через идентификатор в диапазоне от нуля до (NumTrafficClasses–1).

Примечание Значение элемента NumTrafficClasses должно быть меньше или равно min(NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES, MaxNumTrafficClasses), где MaxNumTrafficClasses — это значение элемента MaxNumTrafficClasses , указанное в структуре NDIS_QOS_CAPABILITIES .
 

PriorityAssignmentTable[NDIS_QOS_MAXIMUM_PRIORITIES]

Массив элементов UCHAR , где каждый элемент представляет класс трафика, связанный с уровнем приоритета IEEE 802.1p. Массив PriorityAssignmentTable индексируется по уровню приоритета 802.1p (0–7).

Каждый элемент содержит идентификатор класса трафика. Этот идентификатор является индексом структуры NDIS_QOS_CLASSIFICATION_ELEMENT для класса трафика в массиве классификации.

Примечание Каждому элементу в массиве PriorityAssignmentTable необходимо назначить допустимый идентификатор класса трафика. Идентификатор класса трафика можно назначить нескольким элементам в массиве PriorityAssignmentTable .
 

TcBandwidthAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Массив элементов UCHAR , указывающий процент распределения пропускной способности, назначенный каждому классу трафика. Массив TcBandwidthAssignmentTable индексируется идентификатором класса трафика.

Каждый элемент массива TcBandwidthAssignmentTable определяет распределение пропускной способности для классов трафика. Общее значение всех назначений распределения пропускной способности в массиве TcBandwidthAssignmentTable должно быть равно 100.

Примечание Выделение пропускной способности поддерживается только для расширенного выбора передачи (ETS) TSA. Если элементу класса трафика в массиве TsaAssignmentTable не присвоено значение NDIS_QOS_TSA_ETS, то элементу класса трафика в массиве TcBandwidthAssignmentTable необходимо задать нулевое значение.
 

TsaAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]

Массив элементов UCHAR , указывающий TSA, назначенный каждому классу трафика. Массив TsaAssignmentTable индексируется идентификатором класса трафика.

Каждый элемент массива TsaAssignmentTable содержит одно из следующих значений:

NDIS_QOS_TSA_STRICT

Алгоритм строгого приоритета должен использоваться в качестве TSA для класса трафика. Дополнительные сведения об этом TSA см. в разделе Алгоритм строгого приоритета.

NDIS_QOS_TSA_CBS

Алгоритм формирования на основе кредитов IEEE 802.1Qav (CBS) должен использоваться в качестве TSA для класса трафика.

Примечание Начиная с Windows Server 2012 компонент DCB (Msdcb.sys) не поддерживает CBS TSA и не включает этот параметр с помощью запросов метода идентификатора объекта (OID) OID_QOS_PARAMETERS. Дополнительные сведения о компоненте DCB см. в статье NDIS QoS Architecture for Data Center Bridging.
 

NDIS_QOS_TSA_ETS

Алгоритм IEEE 802.1Qaz Enhanced Transmission Selection (ETS) должен использоваться в качестве TSA для класса трафика. Дополнительные сведения об этом TSA см. в разделе Алгоритм расширенного выбора передачи (ETS).

PfcEnable

Растровое изображение с 32 битами. Наиболее значимые 24 бита зарезервированы для использования в будущем. Наименее значимые 8 битов используются для указания того, включена ли PFC на уровне приоритета IEEE 802.1p. Если для бита задано значение 1, PFC включается для уровня приоритета.

Диапазон разрядов Значение
31:24 Зарезервировано для последующего использования.
7 Если задано значение 1, PFC включен на уровне приоритета 7 802.1p (управление сетью).
6 Если задано значение 1, PFC включен на уровне приоритета 802.1p 6 (элемент управления Интернетом).
5 Если задано значение 1, PFC включен на уровне приоритета 802.1p 5 (голос).
4 Если задано значение 1, PFC включен на уровне приоритета 802.1p 4 (видео).
3 Если задано значение 1, PFC включен на уровне приоритета 3 802.1p (критические приложения).
2 Если задано значение 1, PFC включается на уровне приоритета 2 802.1p (отличное усилие).
1 Если задано значение 1, PFC включен на уровне приоритета 1 802.1p (фон).
0 Если задано значение 1, PFC включается на уровне приоритета 0 802.1p (наилучшие усилия).
 
Примечание Общее число уровней приоритета 802.1p с включенным PFC должно быть меньше или равно значению элемента MaxNumPfcEnabledTrafficClasses в структуре NDIS_QOS_CAPABILITIES .
 
Дополнительные сведения об уровнях приоритета см. в разделе Уровни приоритета IEEE 802.1p.

NumClassificationElements

Значение ULONG , указывающее количество элементов в массиве классификации трафика. Смещение до первого элемента в этом массиве определяется элементом FirstClassificationElementOffset .

Примечание Каждый элемент в массиве форматируется как NDIS_QOS_CLASSIFICATION_ELEMENT структура.
 

ClassificationElementSize

Значение ULONG , указывающее размер (в байтах) каждого элемента в массиве классификации трафика.

Примечание Начиная с NDIS 6.30, этому элементу sizeof(NDIS_QOS_CLASSIFICATION_ELEMENTнеобходимо задать значение ).
 

FirstClassificationElementOffset

Значение ULONG , указывающее смещение (в байтах) к первому элементу в массиве элементов классификации трафика, которые соответствуют этой структуре. Смещение измеряется от начала структуры NDIS_QOS_PARAMETERS до начала первого элемента. Каждый элемент в массиве является NDIS_QOS_CLASSIFICATION_ELEMENT структурой.

Примечание Если параметр NumClassificationElements имеет нулевое значение, этот элемент игнорируется.
 

Комментарии

Структура NDIS_QOS_PARAMETERS определяет параметры, определяющие приоритет сетевого адаптера для передачи или исходящего трафика пакетов. Эта структура используется в следующих запросах OID:

  • Запрос запроса OID для OID_QOS_OPERATIONAL_PARAMETERS. Этот запрос OID возвращает рабочие параметры качества обслуживания, которые в настоящее время подготовлены для сетевого адаптера.
  • Запрос запроса OID для OID_QOS_REMOTE_PARAMETERS. Этот запрос OID возвращает параметры удаленного качества обслуживания, которые в настоящее время подготовлены для сетевого адаптера.
  • Запросы метода OID OID_QOS_PARAMETERS. Этот запрос OID подготавливает сетевой адаптер с локальными параметрами качества обслуживания.
Драйвер мини-порта также возвращает NDIS_QOS_PARAMETERS структуру в следующих индикаторах состояния NDIS:
  • NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE. Этот драйвер мини-порта выдает это состояние при изменении параметров качества обслуживания.

  • NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE. Этот драйвер мини-порта выдает это состояние при изменении параметров удаленного качества обслуживания.

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

Обзор элемента Flags

Элемент Flags содержит побитовое ИЛИ флагов, которые указывают состояние параметров качества обслуживания NDIS для сетевого адаптера.

Драйвер мини-порта устанавливает элемент Flags , когда выдает следующие индикаторы состояния NDIS:

Компонент DCB задает элемент Flags при отправке запроса метода OID OID_QOS_PARAMETERS.
Примечание Только компонент DCB может выдать запрос OID. Драйвер избыточного протокола или фильтра не должен выдавать этот идентификатор идентификатора. Дополнительные сведения о компоненте DCB см. в статье NDIS QoS Architecture for Data Center Bridging.
 
Для элемента Flags определены следующие флаги .
Примечание NDIS гарантирует, что флаги NDIS_QOS_PARAMETERS_ETS_CONFIGURED и NDIS_QOS_PARAMETERS_PFC_CONFIGURED устанавливаются или очищаются вместе.
 
Флаги NDIS_QOS_PARAMETERS_Xxx_CHANGED предоставляют подсказки о том, изменилась ли соответствующая группа параметров по сравнению с предыдущим запросом метода OID_QOS_PARAMETERS или уведомлением о состоянии NDIS_QOS_PARAMETERS_Xxx_CHANGED . Когда драйвер мини-порта выдает уведомления о состоянии NDIS_QOS_PARAMETERS_Xxx_CHANGED , он может при необходимости установить эти флаги.
Примечание Если флаги NDIS_QOS_PARAMETERS_Xxx_CHANGED не заданы, драйверы не должны предполагать, что соответствующая группа параметров поддерживается или включена в базовом сетевом адаптере.
 

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.30 и более поздних версиях.
Верхняя часть ntddndis.h (включая Ndis.h)

См. также раздел

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OBJECT_HEADER

NDIS_QOS_CAPABILITIES

NDIS_QOS_CLASSIFICATION_ELEMENT

NDIS_STATUS_QOS_OPERATIONAL_PARAMETERS_CHANGE

NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE

NdisMSetMiniportAttributes

OID_QOS_CURRENT_CAPABILITIES

OID_QOS_HARDWARE_CAPABILITIES