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


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)

См. также раздел


NDIS_OID_REQUEST

NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE