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


Регистрация возможностей качества обслуживания NDIS

Драйверы минипорта регистрируют следующие возможности качества обслуживания (QoS) с помощью NDIS во время инициализации сетевого адаптера:

  • Аппаратные возможности NDIS QoS, поддерживаемые сетевым адаптером.

    Примечание. Начиная с версии NDIS 6.30 драйвер минипорта должен зарегистрировать аппаратные возможности NDIS QoS, поддерживаемые адаптером, только если параметр INF ключевое слово QOS присутствует в реестре. В этом случае драйвер должен зарегистрировать аппаратные возможности NDIS QoS независимо от того, включены ли эти возможности или отключены на адаптере.

  • Аппаратные возможности NDIS QoS, которые в настоящее время включены в сетевом адаптере.

    Обратите внимание, что возможности оборудования NDIS QoS драйвера мини-порта можно включить или отключить с помощью параметра *QOS INF ключевое слово в реестре. Этот параметр отображается на странице свойств Advanced для сетевого адаптера.

Дополнительные сведения о параметрах NDIS QoS INF ключевое слово см. в разделе Стандартные ключевые слова INF для NDIS QoS.

Минипорт-драйвер сообщает аппаратные возможности QoS базового сетевого адаптера через структуру NDIS_QOS_CAPABILITIES , которая инициализирована следующим образом:

  1. Драйвер минипорта инициализирует элемент заголовка. Драйвер задает элемент Type заголовка NDIS_OBJECT_TYPE_QOS_CAPABILITIES.

    Начиная с версии NDIS 6.30, драйвер минипорта устанавливает для элемента "Редакция" значение "Заголовок" значение NDIS_QOS_CAPABILITIES_REVISION_1, а элемент "Размер" — NDIS_SIZEOF_QOS_CAPABILITIES_REVISION_1.

  2. Если сетевой адаптер поддерживает алгоритм выбора строгого приоритета (TSA), драйвер минипорта задает флаг NDIS_QOS_CAPABILITIES_STRICT_TSA_SUPPORTED в элементе Flags . Дополнительные сведения об этом алгоритме см. в разделе "Алгоритм строгого приоритета".

    Примечание. Начиная с NDIS 6.30, минипорт-драйвер и сетевой адаптер, поддерживающий NDIS QoS для центра обработки данных IEEE (DCB), должен поддерживать строгий приоритет TSA.

  3. Если сетевой адаптер поддерживает возможность обхода обработки системы управления доступом мультимедиа (MACsec), драйвер минипорта задает флаг NDIS_QOS_CAPABILITIES_MACSEC_BYPASS_SUPPORTED в элементе Flags . Дополнительные сведения о MACsec см. в стандарте IEEE 802.1AE-2006.

    Примечание. Начиная с NDIS 6.30 сетевой адаптер не должен поддерживать обход обработки MACsec.

  4. Драйвер минипорта задает член MaxNumTrafficClasses максимальному количеству классов трафика NDIS QoS, поддерживаемых сетевым адаптером. Класс трафика определяет политики передачи или исходящего трафика для QoS, таких как уровень приоритета IEEE 802.1p и распределение пропускной способности. Дополнительные сведения о классах трафика см. в разделе NDIS QoS Traffic Classes.

    Примечание. Начиная с NDIS 6.30 сетевой адаптер должен поддерживать не менее трех классов трафика.

  5. Драйвер минипорта задает член MaxNumEtsCapableTrafficClasses максимальному количеству классов трафика NDIS QoS, которые сетевой адаптер может использовать с алгоритмом расширенного выбора передачи (ETS). Это значение должно быть меньше или равно значению члена MaxNumTrafficClasses .

    Дополнительные сведения об ETS см. в статье "Расширенный алгоритм выбора передачи ( ETS).

    Примечание . Чтобы сетевой адаптер поддерживал QoS NDIS, он должен поддерживать как минимум два класса трафика, поддерживающего ETS.

  6. Драйвер минипорта задает член MaxNumPfcEnabledTrafficClasses максимальному количеству классов трафика NDIS QoS, которые сетевой адаптер может использовать с алгоритмом управления потоками на основе приоритета (PFC). Это значение должно быть меньше или равно значению члена MaxNumTrafficClasses .

    Дополнительные сведения о PFC см. в разделе "Управление потоками на основе приоритета" (PFC).

    Примечание. Чтобы сетевой адаптер поддерживал NDIS QoS, он должен поддерживать по крайней мере один класс трафика с поддержкой PFC.

Когда NDIS вызывает функцию MiniportInitializeEx драйвера miniport, драйвер регистрирует атрибуты NDIS QoS сетевого адаптера, выполнив следующие действия:

  1. Минипорт-драйвер инициализирует структуру NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES .

    Драйвер минипорта задает член HardwareQOSCapabilities указателем на ранее инициализированную NDIS_QOS_CAPABILITIES структуру.

    Если параметр реестра для INF-ключевое слово *QOS имеет значение одного, возможности NDIS QoS включены в сетевом адаптере. Драйвер минипорта задает членам CurrentQOSCapabilities указатель на ту же NDIS_QOS_CAPABILITIES структуру.

    Если параметр реестра для INF-ключевое слово *QOS имеет значение нуля, возможности NDIS QoS отключены в сетевом адаптере. Минипорт-драйвер должен задать для элемента CurrentQOSCapabilities значение NULL.

  2. Драйвер вызывает NdisMSetMiniportAttributes и задает параметр MiniportAttributes указателем на структуру NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES.

Дополнительные сведения о процессе инициализации адаптера см. в разделе "Инициализация адаптера Минипорта".