次の方法で共有


SR-IOV VF データ パス

物理ネットワーク アダプターがシングル ルート I/O 仮想化 (SR-IOV) インターフェイスをサポートしている場合は、1 つ以上の PCI Express (PCIe) 仮想関数 (VFs) を有効にすることができます。 各 VF は、Hyper-V 子パーティションに接続できます。 この場合、仮想化スタックは次の手順を実行します。

  1. VF のリソースが割り当てられると、仮想化スタックは、ゲスト オペレーティング システムの VF のネットワーク アダプターを公開します。 これにより、ゲスト オペレーティング システムで実行されている PCI ドライバーが VF ミニポート ドライバーを起動します。 このドライバーは、SR-IOV ネットワーク アダプターの独立したハードウェア ベンダー (IHV) によって提供されます。

    : VF を Hyper-V 子パーティションに接続する前に、PCIe 物理機能 (PF) のミニポート ドライバーによって VF のリソースを割り当てる必要があります。 VF リソースには、NIC スイッチの仮想ポート (VPort) を VF に割り当てることが含まれます。 詳細については 「SR-IOV 仮想関数」 を参照してください。

  2. VF ミニポート ドライバーが読み込まれて初期化された後、NDIS は、ゲスト オペレーティング システムのネットワーク仮想サービス クライアント (NetVSC) のプロトコル エッジをドライバーにバインドします。

    : NetVSC は VF ミニポート ドライバーにのみバインドされます。 ゲスト オペレーティング システム内の他のプロトコル スタックは、VF ミニポート ドライバーにバインドできません。

NetVSC がドライバーに正常にバインドされると、VF データ パスを介してゲスト オペレーティング システムのネットワーク トラフィックが発生します。 パケットは、ソフトウェア ベースの合成データ パスではなく、ネットワーク アダプターの基になる VF 経由で送受信されます。 合成データ パスの詳細については、「SR-IOV 合成データ パス」を参照してください。

次の図は、SR-IOV ネットワーク アダプター上の VF データ パスのコンポーネントを示しています。

stack diagram showing a sr-iov adapter underneath a management parent partition communicating using a pgf miniport and a child partition containing a guest operating system communicating using a vf miniport.

VF データ パスを使用すると、次の利点があります。

  • すべてのデータ パケットは、ゲスト オペレーティング システムのネットワーク コンポーネントと VF の間を直接流れます。 これにより、Hyper-V の子パーティションと親パーティションの間でデータ パケットが流れる合成データ パスのオーバーヘッドが解消されます。

    合成データ パスの詳細については、「SR-IOV 合成データ パス」を参照してください。

  • VF データ パスは、Hyper-V 子パーティションからのパケット トラフィックにおける管理オペレーティング システムによる関与をバイパスします。 VF は、接続先の子パーティションの独立したメモリ領域、割り込み、DMA ストリームを提供します。 これにより、仮想化されていない環境とほとんど互換性のあるネットワーク パフォーマンスが実現されます。

  • VF データ パス経由のパケットのルーティングは、SR-IOV ネットワーク アダプターの NIC スイッチによって実行されます。 パケットは、アダプターの物理ポートを介して外部ネットワーク経由で送受信されます。 パケットは、VF が接続されている他の子パーティション間でも転送されます。

    : VF が接続されていない子パーティション間のパケットは、NIC スイッチによって Hyper-V 拡張可能スイッチ モジュールに転送されます。 このモジュールは Hyper-V 親パーティションで実行され、合成データ パスを使用してこれらのパケットを子パーティションに配信します。