OID_NIC_SWITCH_CREATE_SWITCH
NDIS выдает запрос метода идентификатора объекта (OID) OID_NIC_SWITCH_CREATE_SWITCH для создания коммутатора сетевой карты на сетевом адаптере. При обработке этого запроса OID драйвер мини-порта выделяет ресурсы для коммутатора сетевой карты на адаптере.
NDIS отправляет этот запрос метода OID драйверу мини-порта физической функции (PF) сетевого адаптера PCI Express (PCIe). Этот запрос метода OID необходим для драйверов мини-портов PF, поддерживающих интерфейс sr-IOV.
Примечание Избыточные драйверы, такие как драйверы протоколов или фильтров, не могут выдавать запросы метода OID OID_NIC_SWITCH_CREATE_SWITCH драйверу мини-порта PF.
Элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на структуру NDIS_NIC_SWITCH_PARAMETERS .
Комментарии
Когда он получает запрос метода OID OID_NIC_SWITCH_CREATE_SWITCH, драйвер мини-порта PF должен выполнить следующие действия:
Если драйвер PF miniport поддерживает создание и настройку статического коммутатора, он создает коммутатор сетевой карты, когда NDIS вызывает MiniportInitializeEx. Когда драйвер обрабатывает этот запрос OID, он должен проверить параметры конфигурации в структуре NDIS_NIC_SWITCH_PARAMETERS . Параметры должны совпадать с параметрами, используемыми драйвером для создания коммутатора во время вызова MiniportInitializeEx. Если это не так, драйвер должен завершить запрос OID.
Дополнительные сведения см. в разделе Статичное создание коммутатора сетевого адаптера.
Если драйвер минипорта PF поддерживает создание и настройку динамического коммутатора, драйвер должен проверить значения конфигурации NDIS_NIC_SWITCH_PARAMETERS структуры и создать коммутатор сетевого адаптера на основе этих значений.
Дополнительные сведения см. в разделе Динамическое создание коммутатора сетевого адаптера.
Драйвер мини-порта PF должен выделить необходимые аппаратные и программные ресурсы для VPort по умолчанию на коммутаторе сетевого адаптера.
Примечание VPort по умолчанию всегда создается с помощью запроса OID OID_NIC_SWITCH_CREATE_SWITCH и удаляется с помощью запроса OID OID_NIC_SWITCH_DELETE_SWITCH. Запросы OID OID_NIC_SWITCH_CREATE_VPORT и OID_NIC_SWITCH_DELETE_VPORT используются для создания и удаления неотделимых виртуальных портов в коммутаторе сетевого адаптера.
Драйвер мини-порта PF, поддерживающий создание и настройку динамического коммутатора, должен включать виртуализацию SR-IOV на коммутаторе путем вызова NdisMEnableVirtualization. Этот вызов настраивает член NumVFs и бит VF Enable в структуре расширенных возможностей SR-IOV в пространстве конфигурации PCI Express (PCIe) адаптера.
Дополнительные сведения о пространстве конфигурации SR-IOV см. в спецификации PCI-SIG Single Root I/O Virtualization and Sharing 1.1 .
Примечание Если драйвер мини-порта PF поддерживает создание статического коммутатора, он включает виртуализацию SR-IOV после создания коммутатора при вызове MiniportInitializeEx .
Если драйвер мини-порта PF успешно завершает запрос метода OID OID_NIC_SWITCH_CREATE_SWITCH, это позволяет выполнить следующее:
Виртуальные функции можно выделить в коммутаторе сетевого адаптера с помощью запросов метода OID OID_NIC_SWITCH_ALLOCATE_VF.
В коммутаторе сетевого адаптера можно создать виртуальные порты, не являющиеся стандартными, с помощью запросов метода OID OID_NIC_SWITCH_CREATE_VPORT.
Дополнительные сведения об обработке этого запроса OID см. в разделе Обработка запроса OID_NIC_SWITCH_CREATE_SWITCH.
Коды состояния возврата
Драйвер мини-порта PF возвращает один из следующих кодов состояния для запроса метода OID OID_NIC_SWITCH_CREATE_SWITCH.
Код состояния | Описание |
---|---|
NDIS_STATUS_SUCCESS |
Запрос OID успешно завершен. |
NDIS_STATUS_NOT_SUPPORTED |
Драйвер мини-порта PF либо не поддерживает интерфейс SR-IOV, либо не поддерживает его. |
NDIS_STATUS_INVALID_PARAMETER |
Один или несколько членов структуры NDIS_NIC_SWITCH_PARAMETERS имеют недопустимые значения. |
NDIS_STATUS_INVALID_LENGTH |
Длина буфера сведений меньше, чем sizeof(NDIS_NIC_SWITCH_PARAMETERS). Драйвер мини-порта PF должен задать data. METHOD_INFORMATION. Элемент BytesNeeded в NDIS_OID_REQUEST структуру до минимального требуемого размера буфера. |
NDIS_STATUS_FAILURE |
Сбой запроса по другим причинам. |
Требования
Версия |
Поддерживается в NDIS 6.30 и более поздних версиях. |
Заголовок |
Ntddndis.h (включая Ndis.h) |