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) |