다음을 통해 공유


가상 함수 해체 시퀀스

단일 루트 I/O 가상화(SR-IOV)를 지원하는 네트워크 어댑터는 다음 하드웨어 구성 요소를 지원할 수 있어야 합니다.

  • 하나의 PCI Express(PCIe) PF(물리적 함수). PF는 항상 네트워크 어댑터에 있으며 Hyper-V 부모 파티션에 연결됩니다.

    이 하드웨어 구성 요소에 대한 자세한 내용은 SR-IOV PF(물리적 함수)를 참조하세요.

  • 하나 이상의 PCIe VF(가상 함수). 게스트 운영 체제의 네트워킹 구성 요소가 VF를 통해 패킷을 보내거나 받기 전에 각 VF를 초기화하고 Hyper-V 자식 파티션에 연결해야 합니다.

    이 하드웨어 구성 요소 에 대한 자세한 내용은 SR-IOV VF(가상 함수)를 참조하세요.

VF가 축소되고 리소스가 해제되기 전에 가상화 스택은 VPCI(가상 PCI) VSP(가상 서비스 공급자)에 알렸습니다. 이 VSP는 Hyper-V 부모 파티션의 관리 운영 체제에서 실행됩니다. 이 알림은 VPCI VSP에 VF가 제거되고 자식 파티션에서 분리됨을 알릴 수 있습니다. VPCI VSP는 VMBus(가상 머신 버스)를 통해 자식 파티션의 게스트 운영 체제에서 실행되는 VPCI VSC(가상 서비스 클라이언트)로 메시지를 보냅니다. 이러한 메시지는 VF가 자식 파티션에 연결되었을 때 노출된 VF 네트워크 어댑터를 정상적으로 제거하도록 VPCI VSC에 요청합니다. 이렇게 하면 NetVSC가 VF 미니포트 드라이버에서 바인딩 해제되고 드라이버가 중지됩니다. 이 시점에서 자식 파티션의 패킷 트래픽은 VF 데이터 경로에서 소프트웨어 기반 가상 데이터 경로로 마이그레이션됩니다. 이러한 데이터 경로에 대한 자세한 내용은 SR-IOV 데이터 경로를 참조 하세요.

가상 데이터 경로에 대한 장애 조치(failover)가 완료되면 VF가 중단되고 해당 리소스가 해제됩니다. 다음 다이어그램은 VF 해체와 관련된 단계를 보여 있습니다.

가상화 스택에서 ndis로 호출한 다음 pf miniport 드라이버로의 호출을 보여 주는 예제 vf 중단 시퀀스입니다.

NDIS, 가상화 스택 및 PF 미니포트 드라이버는 VF 해체 시퀀스 중에 다음 단계를 수행합니다.

  1. 가상화 스택은 VM(가상 머신) 네트워크 어댑터에 대한 MAC(미디어 액세스 제어) 및 VLAN(가상 LAN) 필터를 PF에 연결된 기본 VPort(가상 포트)로 이동합니다. VM 네트워크 어댑터는 자식 파티션의 게스트 운영 체제에 노출됩니다.

    필터를 기본 VPort로 이동한 후 가상 데이터 경로는 게스트 운영 체제에서 실행되는 네트워킹 구성 요소의 네트워크 트래픽에 대해 완전히 작동합니다. PF 미니포트 드라이버는 가상 데이터 경로를 사용하여 게스트 운영 체제에 대한 패킷을 나타내는 기본 PF VPort에서 수신된 패킷을 나타냅니다. 마찬가지로 게스트 운영 체제에서 전송된 모든 패킷은 가상 데이터 경로를 통해 라우팅되고 기본 PF VPort를 통해 전송됩니다.

  2. 가상화 스택은 PF 미니포트 드라이버에 OID_NIC_SWITCH_DELETE_VPORT OID(개체 식별자) 집합 요청을 실행하여 VF에 연결된 VPort를 삭제합니다. 미니포트 드라이버는 VPort와 연결된 하드웨어 또는 소프트웨어 리소스를 해제하고 OID 요청을 완료합니다.

    자세한 내용은 가상 포트 삭제를 참조하세요.

  3. 가상화 스택은 리소스의 할당을 취소하기 전에 VF의 PCIe FLR(함수 수준 재설정)을 요청합니다. 스택은 PF 미니포트 드라이버에 OID_SRIOV_RESET_VFOID 집합 요청을 실행하여 이 작업을 수행합니다. FLR은 SR-IOV 네트워크 어댑터의 VF를 정지 상태로 전환하고 VF에 대해 보류 중인 인터럽트 이벤트를 지웁니다.

  4. VF가 다시 설정되면 가상화 스택은 PF 미니포트 드라이버에 OID_NIC_SWITCH_FREE_VF OID 집합 요청을 실행하여 VF 리소스의 할당을 취소하도록 요청합니다. 이렇게 하면 미니포트 드라이버가 VF와 연결된 하드웨어 리소스를 해제합니다.