Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Для поддержки живой миграции виртуальная машина может быть приостановлена на любой инструкции или на границе ожидающего ввода-вывода. То есть виртуальная машина может не завершить ожидающие запросы на получение. Таким образом, поставщик виртуальных служб сети возвращает все полученные пакеты базовому сетевому адаптеру, который виртуальная машина не возвращала.
примечание в Hyper-V дочерний раздел также называется виртуальной машиной.
При перезапуске виртуальной машины на другом узле сетевая виртуальная машина на новом узле обрабатывает пакеты получения, возвращаемые возобновленной виртуальной машиной, и не передает их в новый базовый драйвер минипорта. После завершения миграции очередь получения, связанная с виртуальной машиной, освобождается и ее можно повторно использовать для другой виртуальной машины.
Заметка Новый сетевой адаптер может не поддерживать VMQ.
Когда NDIS запрашивает мини-драйвер для освобождения очереди получения VMQ, выполните следующие действия:
Сетевой адаптер останавливает передачу данных DMA для получения буферов, связанных с очередью получения, после чего очередь должна ввести остановленное состояние DMA. Сетевой адаптер, вероятно, остановил действие DMA, когда он получил запрос OID_RECEIVE_FILTER_CLEAR_FILTER OID, чтобы очистить последний фильтр набора в очереди получения.
Драйвер минипорта создает указание состояния NDIS_STATUS_RECEIVE_QUEUE_STATE с QueueState элементом структуры NDIS_RECEIVE_QUEUE_STATE, равным NdisReceiveQueueOperationalStateDmaStopped, чтобы уведомить NDIS о том, что передача DMA была остановлена.
Минипорт-драйвер ожидает, пока все указанные пакеты получения этой очереди будут возвращены минипорт-драйверу.
Драйвер минипорта освобождает всю общую память, выделенную для буферов получения сетевого адаптера, связанных с очередью, вызывая NdisFreeSharedMemory.
Минипорт-драйвер завершает запрос OID_RECEIVE_FILTER_FREE_QUEUE OID, чтобы освободить очередь получения.
Дополнительные сведения о состояниях очереди см. в разделе "Состояния очереди виртуальных машин NDIS".