다음을 통해 공유


NDIS VMQ 실시간 마이그레이션 지원

실시간 마이그레이션을 지원하기 위해 모든 명령이나 보류 중인 I/O 경계에서 VM(가상 머신)을 일시 중지할 수 있습니다. 즉, VM이 보류 중인 수신 요청을 완료하지 못할 수 있습니다. 따라서 VSP(네트워크 가상 서비스 공급자)는 수신된 모든 패킷을 VM이 반환하지 않은 기본 네트워크 어댑터로 반환합니다.

참고 Hyper-V에서는 자식 파티션을 VM이라고도합니다.

VM이 다른 호스트에서 다시 시작되면 새 호스트의 네트워크 VSP는 다시 시작된 VM이 반환하는 수신 패킷을 처리하고 이들을 새로운 하부의 미니포트 드라이버로 전달하지 않습니다. 마이그레이션이 완료되면 VM과 연결된 수신 큐가 해제되고 다른 VM에 다시 사용할 수 있습니다.

참고 새 네트워크 어댑터가 VMQ를 지원하지 않을 수 있습니다.

NDIS가 미니포트 드라이버에 VMQ 수신 큐를 해제하도록 요청하는 경우 다음 단계를 수행합니다.

  1. 네트워크 어댑터는 수신 큐와 연결된 버퍼를 수신하기 위해 데이터의 DMA 전송을 중지한 후 큐가 DMA 중지됨 상태로 전환되어야 합니다. 네트워크 어댑터는 수신 큐에서 마지막 집합 필터를 지우기 위해 OID_RECEIVE_FILTER_CLEAR_FILTER OID 요청을 받았을 때 DMA 작업을 중지했을 수 있습니다.

  2. 미니포트 드라이버는 DMA 전송이 중지되었음을 NDIS에 알리기 위해 NdisReceiveQueueOperationalStateDmaStopped로 설정된 NDIS_RECEIVE_QUEUE_STATE 구조체의 QueueState 멤버와 함께 NDIS_STATUS_RECEIVE_QUEUE_STATE 상태 지정을 생성합니다.

  3. 미니포트 드라이버는 해당 큐의 표시된 모든 수신 패킷이 미니포트 드라이버로 반환될 때까지 기다립니다.

  4. 미니포트 드라이버는 NdisFreeSharedMemory호출하여 큐와 연결된 네트워크 어댑터의 수신 버퍼에 할당된 모든 공유 메모리를 해제합니다.

  5. 미니포트 드라이버는 수신 큐를 해제하기 위해 OID_RECEIVE_FILTER_FREE_QUEUE OID 요청을 완료합니다.

큐 상태에 대한 자세한 내용은 NDIS VM 큐 상태참조하세요.