次の方法で共有


仮想関数のリセット

上位ドライバーは、OID_SRIOV_RESET_VF のオブジェクト識別子 (OID) セット要求を発行して、指定した PCI Express (PCIe) 仮想関数 (VF) をリセットします。 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 構造体を初期化する必要があります。 ドライバーは、 リセットする VF の識別子に対して VFId メンバーをを設定する必要があります。

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

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

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