다음을 통해 공유


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

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

참고 항목

 이러한 지침은 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 표준화된 키워드(keyword) 함께 설치해서는 안 되며 이러한 키워드(keyword) 읽으려고 시도해서는 안 됩니다. 이러한 키워드(keyword) 대한 자세한 내용은 SR-IOV에 대한 표준화된 INF 키워드를 참조하세요.

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

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

      NDIS 6.30부터 미니포트 드라이버는 헤더의 수정 버전 멤버를 NDIS_SRIOV_CAPABILITIES _REVISION_1, Size 멤버를 NDIS_SIZEOF_SRIOV_CAPABILITIES_REVISION_1 설정합니다.

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

      참고 항목

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

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

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

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

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

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

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