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


OID_SRIOV_WRITE_VF_CONFIG_BLOCK

Избыточный драйвер выдает запрос на набор идентификатора объекта (OID) OID_SRIOV_WRITE_VF_CONFIG_BLOCK для записи данных в блок конфигурации виртуальной функции PCI Express (PCIe).

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

Элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на буфер, выделенный вызывающим объектом. Этот буфер имеет следующий формат:

  • Структура NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS , содержащая смещение (в единицах байтов) от начала этой структуры до расположения в буфере, содержащего данные, записываемые в блок конфигурации VF.

  • Дополнительное буферное пространство для записи данных в указанный блок конфигурации VF.

Комментарии

Блок конфигурации VF используется для обмена данными между PF и драйверами мини-порта VF. IHV может определить один или несколько блоков конфигурации VF для драйверов мини-порта. Каждый блок конфигурации VF имеет формат, длину и идентификатор блока, определяемый IHV.

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

Перед отправкой запроса на набор OID для OID_SRIOV_WRITE_VF_CONFIG_BLOCK драйвер должен задать элементы структуры NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS следующим образом:

  • Задайте для элемента VFId идентификатор VF, для которого необходимо записать сведения.

  • Задайте для элемента BlockId идентификатор блока конфигурации, из которого должны быть записаны сведения.

  • Задайте для элемента Length число байтов для записи в блок конфигурации VF.

  • Задайте для элемента BufferOffset смещение в буфере (на который ссылается элемент InformationBuffer ), который содержит данные, которые должны быть записаны из указанного блока конфигурации VF. Это смещение указывается в единицах байтов от начала структуры NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS .

При обработке запроса на набор OID OID_SRIOV_WRITE_VF_CONFIG_BLOCK драйвер минипорта PF должен следовать следующим рекомендациям:

  • Драйвер мини-порта PF должен убедиться, что VF, заданный членом VFIdструктуры NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS , содержит ресурсы, которые были ранее выделены. Драйвер минипорта PF выделяет ресурсы для виртуальной машины во время запроса метода OID OID_NIC_SWITCH_ALLOCATE_VF. Если ресурсы для указанной виртуальной машины не были выделены, драйвер должен завершить запрос OID.

  • Драйвер мини-порта PF должен убедиться, что элемент BlockId структуры NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS указывает допустимый блок конфигурации VF. В противном случае драйвер должен завершить запрос OID.

Дополнительные сведения о обратном канале связи в интерфейсе SR-IOV (SR-IOV) см. в разделе Sr-IOV PF/VF Backchannel Communication.

Коды состояния возврата

Драйвер мини-порта возвращает один из следующих кодов состояния для запроса набора OID OID_SRIOV_WRITE_VF_CONFIG_BLOCK:

Код состояния Описание

NDIS_STATUS_SUCCESS

Запрос OID успешно завершен.

NDIS_STATUS_NOT_SUPPORTED

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

NDIS_STATUS_INVALID_PARAMETER

Один или несколько членов структуры NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS имеют недопустимые значения.

NDIS_STATUS_INVALID_LENGTH

Буфер сведений был слишком коротким. NDIS задает значение DATA. SET_INFORMATION. Элемент BytesNeeded в NDIS_OID_REQUEST структуру до минимального требуемого размера буфера.

NDIS_STATUS_FAILURE

Сбой запроса по другим причинам.

Требования

Версия

Поддерживается в NDIS 6.30 и более поздних версиях.

Заголовок

Ntddndis.h (включая Ndis.h)

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


NDIS_OID_REQUEST

NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE