Настройка параметров коммутатора сетевой карты
Избыточный драйвер может изменять параметры коммутатора сетевого адаптера, созданного на сетевом адаптере, поддерживающем виртуализацию одно корневых операций ввода-вывода (SR-IOV). Драйвер выдает запрос на определение идентификатора объекта (OID) OID_NIC_SWITCH_PARAMETERS для изменения этих параметров. Этот запрос набора OID обрабатывает только драйвер минипорта для физической функции PCI Express (PCIe) адаптера SR-IOV.
Перед выполнением этого запроса на набор OID драйвер должен инициализировать структуру NDIS_NIC_SWITCH_PARAMETERS с параметрами, которые необходимо изменить в коммутаторе сетевого адаптера. Затем драйвер инициализирует структуру NDIS_OID_REQUEST для запроса OID и задает элементу InformationBuffer указатель структуры NDIS_NIC_SWITCH_PARAMETERS .
Изменить можно только ограниченное подмножество параметров конфигурации для коммутатора сетевой карты. Драйвер overlying задает параметр, который необходимо изменить, задав следующие члены структуры NDIS_NIC_SWITCH_PARAMETERS :
Элементу SwitchId присваивается идентификатор коммутатора сетевой карты, параметры которого будут изменены.
Примечание Начиная с Windows Server 2012 интерфейс SR-IOV поддерживает только один коммутатор сетевого адаптера. Этот параметр называется коммутатором сетевого адаптера по умолчанию. Для элемента SwitchId необходимо задать значение NDIS_DEFAULT_SWITCH_ID.
Соответствующие флаги NDIS_NIC_SWITCH_PARAMETERS_Xxx_CHANGED задаются в элементе Flags . Элементы структуры NDIS_NIC_SWITCH_PARAMETERS можно изменить, только если в ntddndis.h определен соответствующий флаг NDIS_NIC_SWITCH_PARAMETERS_Xxxx_CHANGED.
Члены структуры NDIS_NIC_SWITCH_PARAMETERS , соответствующие флагам NDIS_NIC_SWITCH_PARAMETERS_Xxxx_CHANGED, установленным в элементе Flags , задаются с помощью параметров конфигурации коммутатора сетевого адаптера, которые необходимо изменить.
Примечание Начиная с Windows Server 2012, только элемент SwitchName структуры NDIS_NIC_SWITCH_PARAMETERS можно изменить с помощью запроса набора OID OID_NIC_SWITCH_PARAMETERS.
Драйвер мини-порта PF должен следовать этим рекомендациям при получении запроса на набор OID OID_NIC_SWITCH_PARAMETERS
Если драйвер мини-порта PF может применить изменения без повторной инициализации сетевого адаптера, драйвер применяет изменения к оборудованию и завершает запрос OID с NDIS_STATUS_SUCCESS.
Если возвращается этот код состояния, NDIS обновляет сведения о конфигурации коммутатора сетевой карты в реестре.
Если драйвер мини-порта PF требует повторной инициализации сетевого адаптера для применения изменений, драйвер завершает запрос OID с NDIS_STATUS_REINIT_REQUIRED.
Если возвращается этот код состояния, NDIS также обновляет сведения о конфигурации коммутатора сетевой карты в реестре. Однако драйвер, выдавающий запрос на набор OID, должен повторно инициализировать сетевой адаптер, чтобы изменения вступили в силу.
Примечание Драйверы минипорта PF, поддерживающие создание и настройку статического сетевого адаптера, могут возвращать NDIS_STATUS_REINIT_REQUIRED, чтобы убедиться, что адаптер повторно инициализирован, чтобы новые параметры вступают в силу.
Если драйвер мини-порта PF не может применить изменения, запрошенные в OID, он должен завершить ошибку OID и вернуть соответствующий код NDIS_STATUS_Xxx .
В этом случае NDIS не обновляет сведения о конфигурации коммутатора сетевой карты в реестре.