OID_GEN_RECEIVE_SCALE_PARAMETERS_V2
Предупреждение
Некоторые сведения в этом разделе относятся к предварительно созданному продукту, который может быть существенно изменен до его коммерческого выпуска. Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых в отношении информации, предоставленной здесь.
RSSv2 доступна только в Windows 10 версии 1809.
OID OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 отправляется в RSSv2мини-драйверы, поддерживающие мини-порт, для задания параметров времени выполнения, отличных от таблицы косвенного обращения, для сущности масштабирования. OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 заменяет OID_GEN_RECEIVE_SCALE_PARAMETERS OID из RSSv1 и не отображается фильтрам легкого веса NDIS (LWFs) до NDIS 6.80. Этот OID является обычным OID и может быть выдан в качестве запроса или задания запроса. Он выдан в IRQL == PASSIVE_LEVEL. Он может нацелиться на заданный VPort, если флаг NDIS_OID_REQUEST_FLAGS_VPORT_ID_VALID установлен при создании коммутатора сетевого адаптера. В противном случае он предназначен для физического сетевого адаптера в случае собственного RSS.
В качестве запроса драйверы NDIS и драйверы чрезмерного использования могут использовать OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 для запроса параметров RSS сетевого адаптера. NDIS возвращает NDIS_RECEIVE_SCALE_PARAMETERS_V2 структуру, которая определяет текущие параметры RSS.
В качестве набора цель этого OID состоит в выполнении следующих действий:
- Первоначально настройте сущность масштабирования (минипортовый адаптер в режиме собственного RSS или VPort в режиме VMQ).
- Включение или отключение RSS.
- В режиме RSS выполняют некритичные функции управления, такие как изменение хэш-ключа, хэш-типа и хэш-функции, количество очередей или количество записей непрямой таблицы для сущности масштабирования.
Замечания
Включение RSS и настройка параметров RSS можно выполнить на одном шаге. После включения RSS с помощью этого OID начальное состояние сущности масштабирования выглядит следующим образом:
- Основной процессор становится неактивным.
- Обработчик по умолчанию становится активным .
- Все ИТ-службы становятся активными .
- Минипорт-драйвер запускает вычисление хэша RSS, настройки соответствующего OOB для всех пакетов и перенаправления пакетов в процессор, указанный записью таблицы косвенного обращения или параметром процессора по умолчанию.
После включения RSS верхний слой выдает OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES OID для перемещения ИТ-служб на разные процессоры. В RSSv2 DefaultQueue и PrimaryProcessor также перемещаются в другой процессор с помощью OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES.
Во время отключения RSS верхний слой будет указывать всем ИТ-службам основного процессора перед вызовом этого OID, чтобы отключить RSS. По истечении этого момента трафик должен быть направлен на основной процессор. Однако минипорт-драйверы не должны ожидать отключения RSS перед удалением VPort. Верхний слой может задать фильтр получения в VPort равным нулю, что гарантирует, что трафик приема не передается через VPort, а затем переходит к удалению VPort без отключения RSS.
Верхний слой гарантирует, что важные инварианты не нарушаются перед выполнением функций управления. Например:
- Перед изменением количества очередей верхний слой гарантирует, что таблица непрямого обращения не ссылается на больше процессоров, чем настроено для VPort. Перед изменением количества записей таблицы косвенного обращения для адаптеров VMMQ-RESTRICTED верхний слой гарантирует, что содержимое таблицы косвенного обращения нормализуется до 2.
Условия ошибки и коды состояния
Этот OID возвращает следующие коды состояния при возникновении ошибки:
Код состояния | Условие ошибки |
---|---|
NDIS_STATUS_INVALID_LENGTH | OID был неправильно сформирован. |
NDIS_STATUS_NO_QUEUES | Количество очередей изменяется при включении RSS, но текущая таблица косвенного обращения ссылается на больше процессоров, чем новое число очередей. |
NDIS_STATUS_INVALID_DATA |
|
NDIS_STATUS_INVALID_PARAMETER | Другие поля в заголовке или самом OID содержат недопустимые значения. |
Требования
версии: Windows 10, версия 1709 заголовка: Ntddndis.h (include Ndis.h)