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


Последовательность разрыва виртуальной функции

Сетевой адаптер, поддерживающий виртуализацию одно корневых операций ввода-вывода (SR-IOV), должен поддерживать следующие аппаратные компоненты:

  • Одна физическая функция PCI Express (PCIe) (PF). PF всегда существует на сетевом адаптере и подключен к родительской секции Hyper-V.

    Дополнительные сведения об этом аппаратном компоненте см. в разделе "Физическая функция SR-IOV" (PF).

  • Одна или несколько виртуальных функций PCIe (VF). Каждая виртуальная машина должна быть инициализирована и присоединена к дочерней секции Hyper-V, прежде чем сетевые компоненты гостевой операционной системы могут отправлять или получать пакеты через VF.

    Дополнительные сведения об этом компоненте оборудования см. в разделе "Виртуальные функции SR-IOV" (VFS).

Перед удалением виртуальной машины и освобождением его ресурсов стек виртуализации уведомляет поставщика виртуальных служб PCI (VPCI). Этот VSP выполняется в операционной системе управления родительской секции Hyper-V. Уведомление сообщает VPCI VSP о том, что VF будет удален и отключен от дочерней секции. VPCI VSP отправляет сообщения через шину виртуальной машины (V МБ us) в клиент виртуальной службы VPCI (VSC), который выполняется в гостевой операционной системе дочернего раздела. Эти сообщения запрашивают VPCI VSC для корректного удаления сетевого адаптера VF, который был предоставлен при присоединении VF к дочерней секции. Это приводит к отмене привязки NetVSC от мини-порта VF и остановки драйвера. На этом этапе трафик пакетов в дочернем разделе переносится из пути данных VF к программному пути искусственных данных. Дополнительные сведения об этих путях данных см. в разделе "Пути данных SR-IOV".

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

Пример последовательности разрыва vf с вызовами из стека виртуализации к ndis, а затем к драйверу минипорта pf.

NDIS, стек виртуализации и драйвер мини-порта PF выполните следующие действия во время последовательности разрыва VF:

  1. Стек виртуализации перемещает фильтры управления доступом мультимедиа (MAC) и виртуальной локальной локальной сети (VLAN) для сетевого адаптера виртуальной машины на виртуальный порт по умолчанию (VPort), подключенный к PF. Сетевой адаптер виртуальной машины предоставляется в гостевой операционной системе дочернего раздела.

    После перемещения фильтров в VPort по умолчанию искусственный путь данных полностью работает для сетевого трафика и из сетевых компонентов, работающих в гостевой операционной системе. Драйвер минипорта PF указывает, что полученные пакеты на VPort по умолчанию используют путь к искусственным данным для указания пакетов гостевой операционной системе. Аналогичным образом все передаваемые пакеты из гостевой операционной системы направляются через путь к искусственным данным и передаются через VPort по умолчанию PF.

  2. Стек виртуализации удаляет VPort, подключенный к VF, путем выдачи запроса набора идентификаторов объектов (OID) запроса OID_NIC_SWITCH_DELETE_VPORT драйверу мини-порта PF. Минипорт-драйвер освобождает все аппаратные или программные ресурсы, связанные с VPort, и завершает запрос OID.

    Дополнительные сведения см. в разделе "Удаление виртуального порта".

  3. Стек виртуализации запрашивает сброс уровня функции PCIe (FLR) виртуальной машины перед выделением ресурсов. Стек делает это путем выдачи запроса набора OID OID_SRIOV_RESET_VF драйверу минипорта PF. FLR переносит VF на сетевом адаптере SR-IOV в состояние ожидания и очищает ожидающие события прерывания для VF.

  4. После сброса VF стек виртуализации запрашивает размещение ресурсов VF путем выдачи запроса набора OID OID_NIC_SWITCH_FREE_VF драйверу минипорта PF. Это приводит к тому, что минипорт-драйвер освобождает аппаратные ресурсы, связанные с VF.