NIC スイッチの動的作成

シングルルート I/O 仮想化 (SR-IOV) をサポートするネットワーク アダプターは、NIC スイッチを作成できなければなりません。 一部のアダプターでは、ミニポート ドライバーがMiniportInitializeEx への呼び出しから返された後、NIC スイッチを動的に作成できます。

アダプターの NIC スイッチを作成できるのは、SR-IOV ネットワーク アダプターの PCI Express (PCIe) 物理関数 (PF) のミニポート ドライバーのみです。

Windows Server 2012 以降では、SR-IOV インターフェイスは、ネットワーク アダプターの既定の NIC スイッチを1つのみサポートします。 このスイッチは既定の NIC スイッチと呼ばれており、NDIS_DEFAULT_SWITCH_ID識別子で参照します。

NDIS は、OID_NIC_SWITCH_CREATE_SWITCH のオブジェクト識別子 (OID) メソッド要求を発行して、SR-IOVネットワーク アダプターに NIC スイッチを作成します。 NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、スイッチのパラメーターをを含む NDIS_NIC_SWITCH_PARAMETERS 構造体へのポインターが含まれています。

PF ミニポート ドライバーが動的 NIC スイッチの作成をサポートしている場合は、この OID リクエスト処理時に、次の手順に従う必要があります。

  1. PF ミニポート ドライバーは、これらのパラメーターに基づき、NIC スイッチに必要なハードウェアおよびソフトウェア リソースを割り当てます。 ドライバーは、これらのパラメーターを使用してネットワーク アダプターも構成します。

    : 動的 NIC スイッチの作成をサポートする PF ミニポート ドライバーは、レジストリの標準化された SR-IOV キーワード設定を使用してスイッチ パラメーターを読み取る必要はありません。 NDIS は、これらのキーワードを読み取り、OID_NIC_SWITCH_CREATE_SWITCHリクエストを発行する前に、NDIS_NIC_SWITCH_PARAMETERS構造体を初期化します。 このようなキーワードの詳細については、 「SR-IOV の標準化された INF キーワード」をご覧ください。

  2. ミニポート ドライバーは、NDISMEnableVirtualization を呼び出して SR-IOV を有効にし、ネットワーク アダプター上の VM の数を設定します。 この関数によって、アダプターの PCI 構成領域で SR-IOV 拡張機能を構成します。 この関数がNDIS_STATUS_SUCCESSと返す場合は、SR-IOV が有効になり、VM が PCIe インターフェイス経由で公開されます。

OID_NIC_SWITCH_CREATE_SWITCHリクエストの処理方法の詳細は、「OID_NIC_SWITCH_CREATE_SWITCH要求の処理」を参照してください。