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


Запрос идентификаторов поставщика и устройства PCI для виртуальной функции

Примечание Этот метод можно использовать только для наложения драйверов, работающих в операционной системе управления родительского раздела Hyper-V.

Вышележащий драйвер делает запрос метода идентификатора объекта (OID) OID_SRIOV_VF_VENDOR_DEVICE_ID, чтобы запросить идентификатор поставщика PCI Express (PCIe) (VendorID) и идентификатор устройства (DeviceID). Эти данные считываются из пространства конфигурации PCIe для виртуальной функции PCIe (VF) на физическом сетевом адаптере.

Надстроечные драйверы отправляют этот запрос метода OID к минипорт-драйверу физической функции (ФФ) PCI Express (PCIe) сетевого адаптера. Этот запрос метода OID требуется для драйверов минипорта PF, поддерживающих интерфейс виртуализации единого корневого ввода-вывода (SR-IOV).

Гостевая операционная система, которая выполняется в дочернем разделе Hyper-V, использует идентификаторы VendorID и DeviceID VF для универсальных идентификаторов Plug and Play (PnP) для перечисления устройств. Начиная с Windows Server 2012, драйвер минипорта PF может предоставить следующий набор идентификаторов сетевого адаптера VF, который предоставляется в дочернем разделе:

  • Идентификатор поставщика и DeviceID физического сетевого адаптера. Это позволяет загружать совместимые драйверы в гостевой операционной системе, которая выполняется в дочерней секции Hyper-V и операционной системе управления, которая выполняется в родительской секции Hyper-V.

  • Идентификатор поставщика и deviceID, отличающиеся от идентификаторов физического сетевого адаптера. Это позволяет загрузить драйвер в гостевую операционную систему, которая более подходит для его использования. Например, драйвер минипорта PF может возвращать идентификатор поставщика и идентификатор устройства для сетевого адаптера VF, чтобы загружался драйвер, который отключает определенные наборы функций, например управление питанием или разгрузку задач протокола.

Перед тем как выдать этот запрос метода OID, вышележащий драйвер должен инициализировать структуру NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO. Драйвер должен установить параметр VFId в идентификатор VF, из которого нужно прочитать информацию.

При обработке этого запроса OID драйвер минипорта PF должен убедиться, что указанный VF содержит ресурсы, которые были выделены ранее. Драйвер минипорта PF выделяет ресурсы для VF при запросе метода OID OID_NIC_SWITCH_ALLOCATE_VF. Если ресурсы для указанной виртуальной функции не выделены, драйвер должен отклонить запрос OID.