OID_SWITCH_NIC_CREATE

Граница протокола расширяемого коммутатора Hyper-V выдает запрос на набор идентификатора объекта (OID) OID_SWITCH_NIC_CREATE для уведомления базовых расширений расширяемого коммутатора о том, что устанавливается новое подключение между портом расширяемого коммутатора и внешним или виртуальным сетевым адаптером. После полной установки подключения граница протокола расширяемого коммутатора выдает запрос на набор OID OID_SWITCH_NIC_CONNECT.

Элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на NDIS_SWITCH_NIC_PARAMETERS структуру.

Комментарии

Элемент PortId структуры NDIS_SWITCH_NIC_PARAMETERS указывает расширяемый порт коммутатора, для которого создается уведомление о создании. Расширение расширяемого коммутатора может получить сведения о параметрах для этого и других портов расширяемого коммутатора, отправляя запросы OID OID_SWITCH_PORT_ARRAY.

Элемент Index структуры NDIS_SWITCH_NIC_PARAMETERS указывает индекс сетевого адаптера, для которого создается уведомление о создании. Сетевой адаптер с указанным значением Index подключается к порту расширяемого коммутатора, заданному элементом PortId . Дополнительные сведения об этих значениях индекса см. в разделе Значения индекса сетевого адаптера.

Когда он получает запрос набора OID OID_SWITCH_NIC_CREATE, расширение должно следовать следующим рекомендациям:

  • Расширение не должно изменять структуру NDIS_SWITCH_NIC_PARAMETERS , связанную с запросом OID.

  • Запрос OID_SWITCH_NIC_CREATE только уведомляет расширение о том, что запускается новое расширяемое подключение коммутатора и что трафик пакетов вскоре может начать происходить через указанный порт. Однако расширение не может использовать порт, пока граница протокола расширяемого коммутатора не выполним запрос набора OID OID_SWITCH_NIC_CONNECT. До выдачи этого идентификатора идентификатора расширения не должно выполняться следующее:

    • Создайте любой трафик пакетов к подключению сетевого адаптера через порт расширяемого коммутатора, для которого был выдан запрос OID_SWITCH_NIC_CREATE OID.

    • Перенаправлять или создавать запросы OID OID_SWITCH_NIC_REQUEST базовому сетевому адаптеру, для которого был выдан запрос OID_SWITCH_NIC_CREATE OID.

    • Переадресация или источник состояния NDIS указывает на NDIS_STATUS_SWITCH_NIC_STATUS от базового сетевого адаптера, для которого был выдан запрос OID OID_SWITCH_NIC_CREATE.

    • Вызовите ReferenceSwitchNic , чтобы увеличить счетчик ссылок расширяемого коммутатора для указанного подключения сетевого адаптера на порту расширяемого коммутатора.

    Примечание Расширение может перехватывать отправку или получение пакетов для указанного порта между запросами OID OID_SWITCH_NIC_CREATE и OID_SWITCH_NIC_CONNECT. В этом случае расширение должно пересылать запросы на отправку или получение пакетов, а не отменять их.

  • Расширение может наказать вето на уведомление о создании, возвращая NDIS_STATUS_DATA_NOT_ACCEPTED для запроса OID. Например, если расширение не может соответствовать настроенным политикам на указанном порту, расширение должно наказать вето на уведомление о создании.

    Если расширение возвращает другие коды состояния NDIS_STATUS_Xxx , уведомление о создании также наложено вето. Однако возврат кодов состояния для временных сценариев, таких как возврат NDIS_STATUS_RESOURCES, может привести к повторной попытке уведомления о создании.

    Если расширение не налодит вето на запрос OID, оно должно отслеживать состояние по завершении запроса. Расширение должно сделать это, чтобы определить, был ли запрос OID наложен вето базовыми расширениями в пути управления расширяемым коммутатором или интерфейсом расширяемого коммутатора.

    Примечание Расширение может наказать вето на запрос OID, только если член индексаструктуры NDIS_SWITCH_NIC_PARAMETERS указывает нулевое значение индекса сетевого адаптера.

  • Если расширение не наложит вето на уведомление о создании, оно должно вызвать NdisFOidRequest , чтобы перенаправить этот запрос OID в базовые расширения в стеке драйвера расширяемого коммутатора.

    Примечание Расширение должно отслеживать состояние завершения этого запроса OID. Расширение делает это, чтобы определить, наложили ли вето на уведомление о создании базовые расширения в стеке драйвера расширяемого коммутатора.

  • Если расширение вызывает NdisFOidRequest для переадресации этого запроса OID, расширение не будет сразу получать трафик пакетов в порт расширяемого коммутатора или из порта расширяемого коммутатора. Кроме того, расширение не может немедленно внедрить отправку или получение трафика для порта расширяемого коммутатора.

  • Расширение может перенаправить трафик пакета на порт расширяемого коммутатора только после того, как ребро протокола расширяемого коммутатора выдает запрос на набор OID OID_SWITCH_NIC_CONNECT.

    Примечание В некоторых ситуациях трафик пакетов может перенаправиться расширяемым коммутатором на порт до отправки запроса на набор OID OID_SWITCH_NIC_CONNECT .

  • Внешний сетевой адаптер расширяемого коммутатора может быть привязан к одному или нескольким базовым физическим адаптерам. Для каждого физического сетевого адаптера, привязанного к внешнему сетевому адаптеру, граница протокола расширяемого коммутатора выдает отдельный запрос набора OID OID_SWITCH_NIC_CREATE. Каждый запрос на набор OID указывает другое значение индекса подключения сетевого адаптера. Дополнительные сведения об этих значениях индекса см. в разделе Значения индекса сетевого адаптера.

    Расширение должно поддерживать состояние подключения для каждого базового физического адаптера. Дополнительные сведения о различных конфигурациях, в которых физические сетевые адаптеры могут быть привязаны к внешнему сетевому адаптеру, см. в разделе Типы конфигураций физического сетевого адаптера.

Дополнительные сведения о состояниях расширяемых портов коммутатора и подключений к сетевым адаптерам см. в статье Состояния порта расширяемого коммутатора Hyper-V и сетевых адаптеров.

Примечание Расширение не должно выдавать собственные запросы на набор OID OID_SWITCH_NIC_CREATE.

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

Если расширение завершает запрос на набор OID OID_SWITCH_NIC_CREATE, оно возвращает один из следующих кодов состояния.

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

NDIS_STATUS_DATA_NOT_ACCEPTED

Расширение навело вето на уведомление о создании.

NDIS_STATUS_RESOURCES

Расширение наложено вето на уведомление о создании из-за нехватки ресурсов.

NDIS_STATUS_Xxx

Расширение наложено вето на уведомление о создании по другим причинам.

Примечание Если расширение завершает запрос набора OID, оно не должно возвращать NDIS_STATUS_SUCCESS.

Если расширение не завершает запрос набора OID OID_SWITCH_NIC_CREATE, запрос выполняется базовым краем мини-порта расширяемого коммутатора. Базовая граница мини-порта возвращает следующий код состояния для этого запроса на набор OID:

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

NDIS_STATUS_SUCCESS

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

Требования

Версия

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

Заголовок

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

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


NDIS_OID_REQUEST

NDIS_SWITCH_NIC_PARAMETERS

NdisFOidRequest

OID_SWITCH_NIC_CONNECT

OID_SWITCH_PORT_ARRAY

ReferenceSwitchPort