次の方法で共有


仮想関数のリセット

上にあるドライバーは、指定された PCI Express (PCIe) 仮想関数 (VF) をリセットする OID_SRIOV_RESET_VF のオブジェクト識別子 (OID) セット要求を発行します。 VF は、単一ルート I/O 仮想化をサポートするネットワーク アダプターのハードウェア コンポーネントです。 基になるドライバーは、PCI Express (PCIe) 物理機能 (PF) のミニポート ドライバーにこの OID セット要求を発行します。

たとえば、仮想化スタックは、Hyper-V 親パーティションの管理オペレーティング システムで実行されます。 スタックは、Hyper-V 子パーティションから VF をデタッチする前に、VF の関数レベル リセット (FLR) を要求します。 FLR は特権操作であるため、管理オペレーティング システムでも実行される PF ミニポート ドライバーによってのみ実行できます。 指定した VF の FLR を要求するには、仮想化スタックは PF ミニポート ドライバーに OID_SRIOV_RESET_VF要求を発行します。

この OID セット要求を発行する前に、基になるドライバーは、NDIS_SRIOV_RESET_VF_PARAMETERS 構造体を初期化する必要があります。 ドライバーは、VFId メンバーをリセット対象のVFの識別子に設定する必要があります。

この OID 要求を処理する場合、PF ミニポート ドライバーは、次のガイドラインに従う必要があります。

  • PF ミニポート ドライバーは、VFIdNDIS_SRIOV_RESET_VF_PARAMETERS 構造体のメンバーによって指定された VF に、以前に割り当てられているリソースがあることを確認する必要があります。 PF ミニポート ドライバーは、OID_NIC_SWITCH_ALLOCATE_VFの OID メソッド要求中に VF のリソースを割り当てます。 指定した VF のリソースが割り当てられていない場合、ドライバーは OID 要求に失敗する必要があります。

  • リセット操作は、指定された VF にのみ影響を与える必要があります。 この操作は、同じネットワーク アダプター上の他の VM または PF に影響を与えてはなりません。