Статическое создание коммутатора сетевого адаптера

Сетевой адаптер, поддерживающий виртуализацию ввода-вывода с одним корнем (SR-IOV), должен иметь возможность создания коммутатора сетевого адаптера. Для некоторых адаптеров коммутатор сетевого адаптера можно создать статически в контексте вызова MiniportInitializeEx.

Только драйвер минипорта для физической функции PCI Express (PCIe) адаптера SR-IOV может создать сетевой адаптер.

Примечание Начиная с Windows Server 2012 интерфейс SR-IOV поддерживает только один коммутатор сетевого адаптера. Этот параметр называется коммутатором сетевой карты по умолчанию, на который ссылается идентификатор NDIS_DEFAULT_SWITCH_ID.

Параметры для коммутатора сетевого адаптера по умолчанию определяются с помощью стандартизированных ключевое слово параметров в реестре. Дополнительные сведения об этих ключевых словах см. в разделе Стандартизированные ключевые слова INF для SR-IOV.

Драйвер PF miniport статически создает коммутатор сетевой карты, когда NDIS вызывает функцию MiniportInitializeEx драйвера. Как правило, драйвер создает и настраивает коммутатор сетевого адаптера в рамках последовательности инициализации перед включением SR-IOV на сетевом адаптере.

Драйвер PF miniport выполняет следующие действия, когда он статически создает коммутатор сетевой карты и включает SR-IOV на сетевом адаптере в контексте вызова MiniportInitializeEx:

  1. Драйвер минипорта PF должен прочитать стандартизированные ключевые слова SR-IOV, чтобы определить, включен ли SR-IOV, и получить параметры конфигурации коммутатора сетевой карты.

    Примечание Если драйвер PF miniport зарегистрировал точку входа в функцию MiniportSetOptions , драйвер мог ранее получить эти параметры из реестра, когда NDIS называется MiniportSetOptions.

  2. Если sr-IOV включен, драйвер мини-порта PF настраивает сетевой адаптер с параметрами коммутатора сетевого адаптера из реестра. Драйвер должен проверить допустимость параметров перед настройкой сетевого адаптера. Например, драйвер мини-порта должен убедиться, что максимальное число виртуальных функций PCIe, назначенных коммутатору сетевого адаптера, не превышает число виртуальных машин, поддерживаемых сетевым адаптером.

  3. Драйвер мини-порта вызывает NdisMEnableVirtualization , чтобы включить SR-IOV и задать количество виртуальных машин на сетевом адаптере. Эта функция настраивает расширенную возможность SR-IOV в пространстве конфигурации PCI адаптера. Если эта функция возвращает NDIS_STATUS_SUCCESS, sr-IOV включается, а виртуальные машины предоставляются через интерфейс PCIe.

Примечание Если драйвер минипорта PF статически создает коммутатор сетевой карты, этот параметр нельзя использовать до тех пор, пока NDIS не выпросит запрос метода идентификатора объекта (OID) OID_NIC_SWITCH_CREATE_SWITCH. Если драйвер минипорта PF статически создал коммутатор сетевой карты, он должен убедиться, что параметры коммутатора указаны в запросе OID. Эти параметры, содержащиеся в структуре NDIS_NIC_SWITCH_PARAMETERS, связанной с запросом OID, должны совпадать с параметрами, которые драйвер использовал для создания коммутатора.

Дополнительные сведения об обработке запроса OID_NIC_SWITCH_CREATE_SWITCH см. в разделе Обработка запроса OID_NIC_SWITCH_CREATE_SWITCH.

Дополнительные сведения о последовательности инициализации и требованиях к драйверам минипорта PF см. в разделе Инициализация драйвера минипорта PF.