次の方法で共有


OID_NIC_SWITCH_CREATE_SWITCH

NDIS は、ネットワーク アダプターに NIC スイッチを作成するOID_NIC_SWITCH_CREATE_SWITCHのオブジェクト識別子 (OID) メソッド要求を発行します。 この OID 要求を処理するとき、ミニポート ドライバーは、アダプターの NIC スイッチのリソースを割り当てます。

NDIS は、ネットワーク アダプターの PCI Express (PCIe) 物理機能 (PF) のミニポート ドライバーにこの OID メソッド要求を発行します。 この OID メソッド要求は、単一ルート I/O 仮想化 (SR-IOV) インターフェイスをサポートする PF ミニポート ドライバーに必要です。

プロトコル ドライバーやフィルター ドライバーなど、 上にあるドライバーは、PF ミニポート ドライバーにOID_NIC_SWITCH_CREATE_SWITCHの OID メソッド要求を発行できないことに注意してください。

NDIS_OID_REQUEST 構造体の InformationBuffer メンバーには、NDIS_NIC_SWITCH_PARAMETERS 構造体へのポインターが含まれています。

備考

OID_NIC_SWITCH_CREATE_SWITCHの OID メソッド要求を受信すると、PF ミニポート ドライバーは、次の操作を行う必要があります。

  1. PF ミニポート ドライバーは、静的スイッチの作成と構成をサポートしている場合は、NDIS がミニポートInitializeEx呼び出すときに NIC スイッチを作成します。 ドライバーは、この OID 要求を処理するときに、NDIS_NIC_SWITCH_PARAMETERS 構造体の構成パラメーターを確認する必要があります。 パラメーターは、ミニポートInitializeEx への呼び出し中にスイッチを作成するドライバー使用されるものと同じである必要があります。 これが true でない場合、ドライバーは OID 要求を失敗する必要があります。

    詳細については、「NIC スイッチの静的な作成」を参照してください。

  2. PF ミニポート ドライバーが動的スイッチの作成と構成をサポートしている場合、ドライバーは、NDIS_NIC_SWITCH_PARAMETERS 構造体の構成値を検証し、これらの値に基づいて NIC スイッチを作成する必要があります。

    詳細については、「NIC スイッチの動的作成」を参照してください。

  3. PF ミニポート ドライバーは、NIC スイッチの既定の VPort に必要なハードウェアおよびソフトウェア リソースを割り当てる必要があります。

    メモ 既定の VPort は、常にOID_NIC_SWITCH_CREATE_SWITCHの OID 要求を通じて作成され、OID_NIC_SWITCH_DELETE_SWITCHの OID 要求を通じて削除されます。 NIC スイッチの既定以外の VPort の作成と削除には、OID_NIC_SWITCH_CREATE_VPORTOID_NIC_SWITCH_DELETE_VPORT の OID 要求が使用されます。

  4. 動的スイッチの作成と構成をサポートする PF ミニポート ドライバーは、NdisMEnableVirtualization呼び出すことによって、スイッチの SR-IOV 仮想化を有効にする必要があります。 この呼び出しでは、NumVFs メンバーと、アダプターの PCI Express (PCIe) 構成空間の SR-IOV 拡張機能構造の VF Enable ビットを構成します。

    SR-IOV 構成領域の詳細については、PCI-SIG シングル ルート I/O 仮想化と共有 1.1 の仕様を参照してください。

    PF ミニポート ドライバーが静的スイッチの作成をサポートしている場合は、ミニポートInitializeExが呼び出されたときにスイッチを作成した後 SR-IOV 仮想化有効にします。

PF ミニポート ドライバーがOID_NIC_SWITCH_CREATE_SWITCHの OID メソッド要求を正常に完了した場合は、次の処理が可能になります。

  • OID_NIC_SWITCH_ALLOCATE_VFの OID メソッド要求を使用して、NIC スイッチに VFs を割り当てることができます。

  • 既定以外の VPort は、OID_NIC_SWITCH_CREATE_VPORTの OID メソッド要求を介して NIC スイッチに作成できます。

この OID 要求を処理する方法の詳細については、「OID_NIC_SWITCH_CREATE_SWITCH要求 の処理を参照してください。

戻り値の状態コード

PF ミニポート ドライバーは、OID_NIC_SWITCH_CREATE_SWITCHの OID メソッド要求の次のいずれかの状態コードを返します。

状態コード 形容

NDIS_STATUS_SUCCESS

OID 要求が正常に完了しました。

NDIS_STATUS_NOT_SUPPORTED

PF ミニポート ドライバーは、SR-IOV インターフェイスをサポートしていないか、インターフェイスの使用が有効になっていません。

NDIS_STATUS_INVALID_PARAMETER

NDIS_NIC_SWITCH_PARAMETERS 構造体の 1 つ以上のメンバーに無効な値があります。

NDIS_STATUS_INVALID_LENGTH

情報バッファーの長さが sizeof(NDIS_NIC_SWITCH_PARAMETERS) 未満です。 PF ミニポート ドライバーは、DATA を設定する必要があります。METHOD_INFORMATION。BytesNeededNDIS_OID_REQUEST 構造体のメンバーを、必要な最小バッファー サイズに設定します。

NDIS_STATUS_FAILURE

その他の理由で要求が失敗しました。

必要条件

バージョン

NDIS 6.30 以降でサポートされています。

ヘッダ

Ntddndis.h (Ndis.h を含む)

関連項目


ミニポートInitializeEx

NDIS_OID_REQUEST

NDIS_NIC_SWITCH_PARAMETERS

NdisMEnableVirtualization

OID_NIC_SWITCH_ALLOCATE_VF

OID_NIC_SWITCH_CREATE_VPORT