OID_SRIOV_READ_VF_CONFIG_BLOCK
Драйвер overlying выдает запрос метода идентификатора объекта (OID) OID_SRIOV_READ_VF_CONFIG_BLOCK для считывания данных из указанного блока конфигурации виртуальной функции (VF) PCI Express (PCIe).
Избыточные драйверы выдают этот запрос метода OID к драйверу мини-порта для физической функции PCIe сетевого адаптера (PF). Этот запрос метода OID необходим для драйверов мини-портов PF, поддерживающих интерфейс sr-IOV.
Элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на буфер, выделенный вызывающим объектом. Этот буфер имеет следующий формат:
Структура NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS , содержащая смещение (в единицах байтов) от начала этой структуры до расположения в буфере, содержащего данные, считываемые из блока конфигурации VF.
Дополнительное буферное пространство для считывания данных из указанного блока конфигурации VF.
Комментарии
Блок конфигурации VF используется для обмена данными между PF и драйверами мини-портов VF. IHV может определить один или несколько блоков конфигурации VF для драйверов мини-порта. Каждый блок конфигурации VF имеет определенный IHV формат, длину и идентификатор блока.
Примечание Данные из каждого блока конфигурации VF используются только драйверами мини-портов PF и VF.
Перед выполнением запроса метода OID OID_SRIOV_READ_VF_CONFIG_BLOCK драйвер должен задать члены NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS структуры следующим образом:
Задайте для элемента VFId идентификатор VF, из которого считываются сведения.
Присвойте члену BlockId идентификатор блока конфигурации VF, из которого считываются сведения.
Задайте для элемента Length число байтов, считываемых из блока конфигурации.
Задайте для элемента BufferOffset смещение в буфере (на который ссылается элемент InformationBuffer ), который будет содержать данные, считываемые из указанного блока конфигурации VF. Это смещение указывается в единицах байтов от начала NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS структуры.
При обработке запроса метода OID OID_SRIOV_READ_VF_CONFIG_BLOCK драйвер мини-порта PF должен следовать следующим рекомендациям:
Драйвер мини-порта PF должен убедиться, что VF, указанный членом VFIdструктуры NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS , содержит ресурсы, которые были ранее выделены. Драйвер мини-порта PF выделяет ресурсы для VF во время запроса метода OID OID_NIC_SWITCH_ALLOCATE_VF. Если ресурсы для указанного виртуальногоf не выделены, драйвер должен завершить запрос OID.
Драйвер мини-порта PF должен убедиться, что элемент BlockId структуры NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS указывает допустимый блок конфигурации VF. В противном случае драйвер должен завершить запрос OID.
Дополнительные сведения о взаимодействии с серверным каналом в интерфейсе SR-IOV в рамках единого корневого интерфейса виртуализации ввода-вывода см. в разделе Sr-IOV PF/VF Backchannel Communication.
Коды состояния возврата
Драйвер мини-порта PF возвращает один из следующих кодов состояния для запроса метода OID_SRIOV_READ_VF_CONFIG_BLOCK.
Код состояния | Описание |
---|---|
NDIS_STATUS_SUCCESS |
Запрос OID успешно завершен. |
NDIS_STATUS_NOT_SUPPORTED |
Драйвер мини-порта либо не поддерживает интерфейс SR-IOV, либо не поддерживает интерфейс sr-IOV. |
NDIS_STATUS_INVALID_PARAMETER |
Один или несколько членов структуры NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS имеют недопустимые значения. |
NDIS_STATUS_INVALID_LENGTH |
Буфер сведений был слишком коротким. Драйвер мини-порта должен задать data. METHOD_INFORMATION. Элемент BytesNeeded в NDIS_OID_REQUEST структуру до минимального требуемого размера буфера. |
NDIS_STATUS_FAILURE |
Сбой запроса по другим причинам. |
Требования
Версия |
Поддерживается в NDIS 6.30 и более поздних версиях. |
Заголовок |
Ntddndis.h (включая Ndis.h) |