다음을 통해 공유


VF 미니포트 드라이버 초기화하기

이 항목에서는 PCI Express(PCIe) VF(Virtual Function)의 미니포트 드라이버에 대한 MiniportInitializeEx 함수를 작성하는 지침을 설명합니다. VF는 단일 루트 I/O 가상화(SR-IOV)를 지원하는 네트워크 어댑터에 의해 노출됩니다.

비고

 이러한 지침은 SR-IOV 네트워크 어댑터의 VF 미니포트 드라이버에만 적용됩니다. 어댑터의 PCIe PF(물리적 함수)의 미니포트 드라이버에 대한 초기화 지침은 PF 미니포트 드라이버 초기화를 참조하세요. 

VF 미니포트 드라이버는 MiniportInitializeEx 함수를 호출할 때 NDIS 미니포트 드라이버와 동일한 단계를 따릅니다. 이러한 단계에 대한 자세한 내용은 미니포트 드라이버 초기화를 참조하세요.

이러한 단계 외에도 VF 미니포트 드라이버는 NDIS가 드라이버의 MiniportInitializeEx 함수를 호출할 때 다음 추가 단계를 따라야 합니다.

  • VF 미니포트 드라이버는 NdisGetHypervisorInfo 함수를 호출하여 Hyper-V 자식 파티션에서 실행 중인지 확인합니다. 이 함수는 파티션 형식을 정의하는 NDIS_HYPERVISOR_INFO 구조를 반환합니다. 파티션 형식이 NdisHypervisorPartitionMsHvChild로 보고되면 미니포트 드라이버는 어댑터의 PF에 연결된 Hyper-V 자식 파티션에서 실행됩니다.

    비고

    파티션 형식이 NdisHypervisorPartitionMsHvParent로 보고된 경우 미니포트 드라이버는 어댑터의 PF에 연결된 Hyper-V 부모 파티션에서 실행됩니다. 이 경우 미니포트 드라이버는 VF 드라이버로 초기화하지 않아야 합니다. 가능하면 드라이버는 PF 미니포트 드라이버에 대한 초기화 시퀀스에 설명된 대로 PF 드라이버로 초기화해야 합니다.

  • PF 미니포트 드라이버와 달리 VF 미니포트 드라이버는 SR-IOV 표준화된 키워드와 함께 설치해서는 안 되며 이러한 키워드를 읽으려고 시도해서는 안 됩니다. 이러한 키워드에 대한 자세한 내용은 SR-IOV대한 표준화된 INF 키워드를 참조하세요.

  • VF 미니포트 드라이버는 다음과 같은 방식으로 초기화된 NDIS_SRIOV_CAPABILITIES 구조를 통해 기본 가상 네트워크 어댑터의 SR-IOV 하드웨어 기능을 보고합니다.

    1. 미니포트 드라이버는 헤더 멤버를 초기화합니다. 드라이버는 Type 멤버를 헤더에 NDIS_OBJECT_TYPE_DEFAULT로 설정합니다.

      NDIS 6.30부터 미니포트 드라이버는 HeaderRevision 멤버를 NDIS_SRIOV_CAPABILITIES_REVISION_1로 설정하며, Size 멤버를 NDIS_SIZEOF_SRIOV_CAPABILITIES_REVISION_1로 설정합니다.

    2. 미니포트 드라이버는 sriovCapabilities 멤버의 NDIS_SRIOV_CAPS_PF_MINIPORT 플래그를 설정하여 SR-IOV 기능을 보고합니다.

      비고

      VF 미니포트 드라이버는 NDIS_SRIOV_CAPS_VF_MINIPORT 플래그와 NDIS_SRIOV_CAPS_SRIOV_SUPPORTED 플래그를 모두 설정해야 합니다.

    VF 미니포트 드라이버는 다음 단계에 따라 네트워크 어댑터의 SR-IOV 기능을 등록합니다.

    1. 미니포트 드라이버는 NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 구조체를 초기화합니다.

      미니포트 드라이버는 HardwareSriovCapabilitiesCurrentSriovCapabilities 멤버를 이전에 초기화된 NDIS_SRIOV_CAPABILITIES 구조에 대한 포인터로 설정합니다.

    2. 드라이버는 NdisMSetMiniportAttributes 호출하고 MiniportAttributes 매개 변수를 NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 구조체에 대한 포인터로 설정합니다.

  • VF 미니포트 드라이버는 VMQ(가상 머신 큐) 기능을 보급해서는 안 됩니다. 그러나 드라이버는 전원 관리 및 RSS(수신측 크기 조정)와 같은 다른 NDIS 기술에 대한 지원을 보급할 수 있습니다.

    RSS에 대한 자세한 내용은 수신측 크기 조정참조하세요.