Compartir a través de


Compatibilidad con la migración en vivo de VMQ de NDIS

Para admitir la migración en vivo, se puede pausar una máquina virtual (VM) en cualquier instrucción o límite de E/S pendiente. Es decir, es posible que la máquina virtual no finalice las solicitudes de recepción pendientes. Por lo tanto, el proveedor de servicios virtuales de red (VSP) devuelve todos los paquetes recibidos al adaptador de red subyacente que la máquina virtual no devolvió.

Nota En Hyper-V, una partición secundaria también se conoce como máquina virtual.

Cuando se reinicia la máquina virtual en otro host, el VSP de red en el nuevo host controla los paquetes de recepción que devuelve la máquina virtual reanudada y no los pasa al nuevo subyacente en el controlador de miniport. Una vez completada la migración, se libera la cola de recepción asociada a la máquina virtual y se puede reutilizar para otra máquina virtual.

Nota Es posible que el nuevo adaptador de red no admita VMQ.

Cuando NDIS solicita un controlador de minipuerto para liberar una cola de recepción de VMQ, sigue estos pasos:

  1. El adaptador de red detiene la transferencia de datos DMA para recibir búferes asociados a la cola de recepción, después de lo cual la cola debe entrar en el estado DMA Stopped. El adaptador de red probablemente detuvo la actividad DMA cuando recibió la solicitud de OID de OID_RECEIVE_FILTER_CLEAR_FILTER para borrar el último filtro establecido en la cola de recepción.

  2. El controlador de minipuerto genera una indicación de estado NDIS_STATUS_RECEIVE_QUEUE_STATE con el miembro QueueState de la estructura de NDIS_RECEIVE_QUEUE_STATE establecida en NdisReceiveQueueOperationalStateDmaStopped para notificar a NDIS que se ha detenido la transferencia DMA.

  3. El controlador de minipuerto espera a que se devuelvan todos los paquetes de recepción indicados a la cola al controlador de minipuerto.

  4. El controlador de minipuerto libera toda la memoria compartida que asignó para los búferes de recepción del adaptador de red que están asociados a la cola llamando a NdisFreeSharedMemory.

  5. El controlador de minipuerto completa la solicitud de OID de OID_RECEIVE_FILTER_FREE_QUEUE para liberar la cola de recepción.

Para más información sobre los estados de cola, consulte Estados de cola de máquinas virtuales NDIS.