OID_SRIOV_WRITE_VF_CONFIG_SPACE
Избыточный драйвер выдает запрос на набор идентификатора объекта (OID) OID_SRIOV_WRITE_VF_CONFIG_SPACE для записи данных в пространство конфигурации PCI Express (PCIe) для указанной виртуальной функции PCIe (VF) на сетевом адаптере.
Избыточные драйверы выдают этот запрос набора OID к драйверу мини-порта для физической функции PCIe сетевого адаптера (PF). Этот запрос метода OID необходим для драйверов мини-портов PF, поддерживающих интерфейс sr-IOV.
Элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на буфер, выделенный вызывающим объектом. Этот буфер имеет следующий формат:
Структура NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS , содержащая параметры для операции записи пространства конфигурации PCI виртуальногоF.
Дополнительное буферное пространство, содержащее данные для записи в пространство конфигурации PCI.
Комментарии
Драйвер мини-порта VF выполняется в гостевой операционной системе дочернего раздела Hyper-V. Из-за этого драйвер мини-порта VF не может напрямую получить доступ к аппаратным ресурсам, таким как пространство конфигурации PCI VF. Доступ к пространству конфигурации PCI для VF может получить только драйвер минипорта PF, который выполняется в операционной системе управления родительского раздела Hyper-V.
Драйвер, такой как стек виртуализации, выдает запрос набора OID OID_SRIOV_WRITE_VF_CONFIG_SPACE, когда драйвер мини-порта VF вызывает NdisMSetBusData для записи в пространство конфигурации PCI.
При обработке запроса метода OID OID_SRIOV_WRITE_VF_CONFIG_SPACE драйвер мини-порта PF должен следовать следующим рекомендациям:
Драйвер мини-порта PF должен убедиться, что VF, указанный членом VFIdструктуры NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS , содержит ресурсы, которые были ранее выделены. Драйвер мини-порта PF выделяет ресурсы для VF с помощью запроса метода OID OID_NIC_SWITCH_ALLOCATE_VF.
Если ресурсы для указанного виртуальногоf не выделены, драйвер должен завершить запрос OID.
Драйвер минипорта PF вызывает NdisMSetVirtualFunctionBusData для записи в запрошенное пространство конфигурации PCI. Однако драйвер минипорта PF также может возвращать данные о пространстве конфигурации PCI для виртуальной машины, кэшированные драйвером из предыдущих операций чтения или записи в пространстве конфигурации PCI.
Примечание Если независимый поставщик оборудования (IHV) предоставляет драйвер виртуальной шины (VBD) в составе пакета драйверов SR-IOV, драйвер мини-порта PF не должен вызывать NdisMSetVirtualFunctionBusData. Вместо этого драйвер должен выполнять взаимодействие с VBD через частный канал связи и запрашивать вызов Метода SetVirtualFunctionData для VBD. Эта функция предоставляется из интерфейса GUID_VPCI_INTERFACE_STANDARD , поддерживаемого базовым драйвером виртуальной шины PCI (VPCI).
Если драйвер минипорта PF может успешно выполнить запрос OID, драйвер должен скопировать запрошенные данные пространства конфигурации PCI в буфер, на который ссылается элемент InformationBufferструктуры NDIS_OID_REQUEST . Драйвер копирует данные в буфер со смещением, заданным элементом BufferOffsetструктуры NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS .
Дополнительные сведения см. в разделе Настройка данных конфигурации PCI виртуальной функции.
Коды состояния возврата
Драйвер мини-порта PF возвращает один из следующих кодов состояния для запроса набора OID OID_SRIOV_WRITE_VF_CONFIG_SPACE.
Код состояния | Описание |
---|---|
NDIS_STATUS_SUCCESS |
Запрос OID успешно завершен. |
NDIS_STATUS_NOT_SUPPORTED |
Драйвер мини-порта PF либо не поддерживает интерфейс виртуализации однокорневого ввода-вывода (SR-IOV), либо не поддерживает его использование. |
NDIS_STATUS_INVALID_PARAMETER |
Один или несколько членов структуры NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS имеют недопустимые значения. |
NDIS_STATUS_INVALID_LENGTH |
Буфер сведений был слишком коротким. NDIS задает DATA. SET_INFORMATION. Элемент BytesNeeded в NDIS_OID_REQUEST структуру до минимального требуемого размера буфера. |
NDIS_STATUS_FAILURE |
Сбой запроса по другим причинам. |
Требования
Версия |
Поддерживается в NDIS 6.30 и более поздних версиях. |
Заголовок |
Ntddndis.h (включая Ndis.h) |
См. также раздел
NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS
NdisMSetVirtualFunctionBusData