가상 함수에 대한 PCI 공급업체 및 디바이스 식별자 쿼리

참고 이 메서드는 Hyper-V 부모 파티션의 관리 운영 체제에서 실행되는 드라이버를 과도하게 사용하는 경우에만 사용할 수 있습니다.

지나치게 많은 드라이버는 PCI Express(PCIe) 공급업체 식별자(VendorID) 및 DeviceID(디바이스 식별자)를 쿼리하기 위해 OID_SRIOV_VF_VENDOR_DEVICE_ID OID(개체 식별자) 메서드 요청을 발급합니다. 이 데이터는 실제 네트워크 어댑터의 PCIe VF(가상 함수)에 대한 PCIe 구성 공간에서 읽습니다.

오버리싱 드라이버는 네트워크 어댑터의 PCI Express(PCIe) PF(물리적 함수)의 미니포트 드라이버에 이 OID 메서드 요청을 실행합니다. 이 OID 메서드 요청은 단일 루트 I/O 가상화(SR-IOV) 인터페이스를 지원하는 PF 미니포트 드라이버에 필요합니다.

Hyper-V 자식 파티션에서 실행되는 게스트 운영 체제는 디바이스 열거를 위해 PnP(일반 플러그 앤 플레이) ID에 VF의 VendorID 및 DeviceID를 사용합니다. Windows Server 2012 부터 PF 미니포트 드라이버는 자식 파티션에 노출되는 VF 네트워크 어댑터에 대해 다음 식별자 집합을 제공할 수 있습니다.

  • 물리적 네트워크 어댑터의 VendorID 및 DeviceID입니다. 이렇게 하면 Hyper-V 자식 파티션에서 실행되는 게스트 운영 체제와 Hyper-V 부모 파티션에서 실행되는 관리 운영 체제에서 호환 드라이버를 로드할 수 있습니다.

  • 실제 네트워크 어댑터의 식별자와 다른 VendorID 및 DeviceID입니다. 이렇게 하면 드라이버가 게스트 운영 체제에 로드되어 사용하기에 더 적합합니다. 예를 들어 PF 미니포트 드라이버는 VF 네트워크 어댑터에 대해 VendorID 및 DeviceID를 반환하여 전원 관리 또는 프로토콜 작업 오프로드와 같은 특정 기능 집합을 사용하지 않도록 드라이버를 로드할 수 있습니다.

이 OID 메서드 요청을 발급하기 전에 오버리링 드라이버는 NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO 구조를 초기화해야 합니다. 드라이버는 VFId 멤버를 정보를 읽을 VF의 식별자로 설정해야 합니다.

이 OID 요청을 처리할 때 PF 미니포트 드라이버는 지정된 VF에 이전에 할당된 리소스가 있는지 확인해야 합니다. PF 미니포트 드라이버는 OID_NIC_SWITCH_ALLOCATE_VF OID 메서드 요청 중에 VF에 대한 리소스를 할당합니다. 지정된 VF에 대한 리소스가 할당되지 않은 경우 드라이버는 OID 요청에 실패해야 합니다.