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 Light Weight Filters (LWFs) до NDIS 6.80. Этот OID является обычным идентификатором OID и может быть выдан в виде запроса или запроса Set. Он выдается по адресу IRQL == PASSIVE_LEVEL. Он может быть нацелен на данный VPort, когда флаг NDIS_OID_REQUEST_FLAGS_VPORT_ID_VALID установлен при создании коммутатора сетевой карты. В противном случае он предназначен для физического сетевого адаптера в случае с собственными RSS.

В качестве запроса драйверы NDIS и overlying могут использовать OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 для запроса параметров RSS сетевой карты. NDIS возвращает структуру NDIS_RECEIVE_SCALE_PARAMETERS_V2 , которая определяет текущие параметры RSS.

В качестве набора этот идентификатор OID предназначен для выполнения следующих действий:

  • Первоначально настройте сущность масштабирования (адаптер минипорта в режиме native RSS или VPort в режиме VMQ).
  • Включение или отключение RSS.
  • В режиме RSS выполняйте некритичные по времени функции управления, такие как изменение хэш-ключа, типа хэша и хэш-функции, количества очередей или количества записей таблицы косвенного обращения для масштабируемой сущности.

Комментарии

Включение RSS и настройка параметров RSS можно выполнить за один шаг. После того как верхний уровень включает RSS с помощью этого идентификатора OID, начальное состояние сущности масштабирования будет следующим:

  • Основной процессор становится неактивным.
  • Процессор по умолчанию становится активным.
  • Все ITEs становятся активными.
  • Драйвер мини-порта начинает вычисление RSS-хэша, настройку соответствующего OOB для всех пакетов и направление пакетов в процессор, указанный записью таблицы косвенного обращения или параметром процессора по умолчанию.

После включения RSS верхний слой выдает OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES OID для перемещения ИТ-адресов на другие процессоры. В RSSv2 значения DefaultQueue и PrimaryProcessor также перемещаются в другой процессор с помощью OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES.

В процессе отключения RSS верхний слой будет указывать все ITE на основной процессор, прежде чем вызывать этот 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
  • Таблица косвенного обращения уменьшается в размере, но не содержит шаблон повторения с помощью двух значений.
  • Во время перехода состояния RSS (включено или выключено) процессор из активного параметра рулевого управления не относится к набору процессоров RSS адаптера. Обратите внимание, что неактивные параметры рулевого управления отслеживают только записи в процессор и не применяются. Принудительное применение происходит во время перехода состояния RSS, когда параметр становится активным.
NDIS_STATUS_INVALID_PARAMETER Другие поля в заголовке или самом идентификаторе идентификатора содержат недопустимые значения.

Требования

Версия: Windows 10, версия 1709 Заголовок: Ntddndis.h (включая Ndis.h)

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