Compartir a través de


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

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 termine de recibir solicitudes 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 una 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 miniport para liberar una cola de recepción de VMQ, sigue estos pasos:

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

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

  3. El controlador de miniporte espera a que todos los paquetes de recepción indicados para esa cola sean devueltos al controlador de miniporte.

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

  5. El controlador de miniport finaliza la solicitud 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.