Go to main content
Oracle® Solaris 11.3 デバイスドライバの記述

印刷ビューの終了

更新: 2016 年 11 月
 
 

SR-IOV デバイスドライバの概要

SR-IOV 機能は、物理機能 (PF) ドライバと仮想機能 (VF) ドライバから構成されます。次の各セクションでは、PF ドライバと VF ドライバ、および必要なデバイス構成の詳細について説明します。

物理機能 (PF) ドライバ

SR-IOV デバイスの PF ドライバは、SR-IOV 対応デバイスの物理機能 (PF) を管理するために使用されます。SR-IOV 機能をサポートする PCI 機能については、SR-IOV 仕様で規定されています。PF は SR-IOV 機能構造を含んでおり、SR-IOV の機能を管理するために使用されます。PF は完全な機能を備えた PCIe 機能であり、ほかの PCIe デバイスと同様に発見、管理、および操作を行えます。PF は完全な構成リソースを備えているため、PCIe デバイスの構成や制御に使用できます。PF ドライバが示す特性は次のとおりです。

  • ルートドメインでのみ表示されます

  • データ移動機能を備えている場合も備えていない場合もあります。PF ドライバは SR-IOV モードでも機能すべきです。

  • Oracle Solaris IOV フレームワークで提供されている API 経由で SR-IOV 機能の有効化と無効化を制御します。

  • ある特定の PF で構成される VF の数は、システム管理者によって決定されます。この数は、Sparc OVM プラットフォームではマシン記述子 (MD) 内に、基本的な環境では構成ファイル内に、それぞれ定義されます。

  • PF ドライバは、接続段階で VF を有効化するために、DDI インタフェース経由で Oracle Solaris IOV フレームワークを呼び出します。接続時に PF ドライバが VF を有効化しなかった場合、そのドライバが IOV 機能を備えていることがドライバコールバックフラグに示されているかぎり、Oracle Solaris IOV フレームワークはその接続後に VF の構成を試みます。

  • PF はデバイス固有のメカニズムを介して、関連付けられた各 VF を個別に有効化および無効化できます。

仮想機能 (VF) ドライバ

物理機能に関連付けられた機能。VF は軽量な PCIe 機能であり、物理機能やその PF に関連付けられたほかの VF と、1 つ以上の物理リソースを共有します。VF ドライバが示す特性は次のとおりです。

  • ルートドメインと I/O ドメインの両方に表示されます

  • HW メールボックスと OS 提供インタフェースのいずれかを使って PF との通信を開始できます

  • 次の条件を満たすまでルートドメインに表示されません。

    • ルートドメインがブート済みである

    • PF ドライバが接続し、VF の構成を呼び出す

    • ルートドメインの Oracle Solaris IOV フレームワークによって VF が有効化される

    • システムファームウェアによってリソースが VF に割り当てられる

  • 次の条件を満たすまで I/O ドメインに表示されません。

    • VF がすでに有効化され、ルートドメインに表示されている

    • I/O ドメインに VF が割り当てられている

    • Oracle Solaris ファームウェア (OBP) によって I/O ドメイン内で VF がプローブされる


注 - SR-IOV 対応の PF および VF ドライバは、割り込みリソース管理 (IRM) コールバックを登録し、この機能のサポートを提供する必要があります。IRM インタフェースの詳細や使用方法については、割り込みハンドラを参照してください。

注 - VF がネットワーク VF の場合、numVFs の有効化が完了すると、次のパラメータを構成できます。VF を有効にする前に構成を完了しておくべきです。
  • mac-addr

  • vlan (Virtual LAN) ID

  • port-vlan-id

  • alt-mac-addrs

  • mtu


デバイス構成パラメータ

PF ドライバは、次の表に記載された構成パラメータをサポートする必要があります。これらのパラメータは Sparc OVM Manager にエクスポートできます。構成が完了するのは、すべてのパラメータを構成した場合だけです。

表 22  構成パラメータの定義
構成パラメータ
定義
標準に関する構成パラメータ
サポート可能な VF の数

注 -  VF の数を変更した場合、PF デバイスを切り離してから再度接続する必要があります。

max-config-vfs – 実際に構成可能な VF の最大数。PF ドライバがサポートする最大 VF 数が、SR-IOV 機能から示された性能と異なる場合、PF ドライバはこのパラメータをエクスポートできます。
リソース固有およびデバイス固有のパラメータ
帯域幅、プール、および Q-ペア。これらのパラメータを変更すると、その影響は PF ドライバと VF ドライバの両方に及びます。
デバイス固有のパラメータは、フレームワークから認識されていない可能性があり、PF ドライバにのみ認識されている可能性があります。VF を有効化する前にこれらのパラメータが認識され、PF ドライバがそのハードウェアを正しく初期化できるようにするべきです。
IOV フレームワークにエクスポートされたデバイス固有のパラメータを取得する方法を学ぶには、igb(7D) およびixgbe(7D) を参照してください。
  • pvid-exclusive - port-vlan-idvlan-ids を同時にサポートすることはできないことを示します。

  • max-vf-mtu – 1 つの VF で許可される最大の MTU。

  • max-vlans – ネットワーククラスの PF ドライバでサポートされる vlan スロットの最大数。

クラス固有のパラメータ
デバイスのクラスに基づく一般的なプロパティー。たとえば Ethernet デバイスは、MAC アドレス、VLAN-ID、Port-VLAN-ID、帯域幅などのプロパティーを持つことができます。
クラス固有の構成を使用することが期待されており、構成では各パラメータの動作を定義できます。
なし

注 -  デバイス構成パラメータを変更したら、デバイスを接続し直すようにしてください。

注 -  VF を有効化する前に次の順序でパラメータを構成します。クラス固有のパラメータは、クラス固有のコンフィギュレータに基づいています。
  1. 標準に関するパラメータ

  2. リソース固有およびデバイス固有のパラメータ

  3. クラス固有のパラメータ


pci.conf ファイル

PCI 構成情報ファイル /etc/pci.conf は、システムが PCI 構成 (特定 PF の VF 数など) を保存できるようにします。pci.conf ファイルは次を提供します。

  • - システムのブート時に VF を自動的に作成できるように PCI 構成を持続させること。

  • - この構成ファイルは boot_archive の一部になっているため、システムのブート中に VF を使用できます。


注 -  /etc/pci.conf ファイルを Oracle Solaris ブートプロセスに含めるには、/etc/pci.conf/boot/solaris/filelist.ramdisk ファイルに追加します。

詳細は、pci.conf ファイルを参照してください。

デバイス構成パラメータの設定

  • SPARC: ldm コマンド経由でパラメータを設定できます。詳細は、 ldm (1M) のマニュアルページを参照してください。

  • x86: pci.conf ファイルにクラス固有のパラメータを指定できます。次の例は、pci.conf ファイルに設定されたパラメータを示したものです。

使用例 122  デバイス構成パラメータの設定
[System_Configuration]
[[path=/pci@0,0/pci8086,3a40@1c/pci108e,4848@0,1]]
num-vf=2

[Device_Configuration]
[[path=/pci@0,0/pci8086,3a40@1c/pci108e,4848@0,1]]
VF[0] = {
		primary-mac-addr = 0xaabbccddeeff
		alt-mac-addrs = 0x102233445556, 0x102233445557
		vlan-id = 20, 30
}

VF[1] = {
		primary-mac-addr = 0xaabbccddeef1
		alt-mac-addrs = 0x102233445568
		vlan-id = 20, 30, 40, 50
} 

Sparc OVM プラットフォームでの SR-IOV 構成

すべての Sparc OVM プラットフォームで、SPARC OVM Manager が SR-IOV 構成を担当します。Sparc OVM Manager は次の処理を担当します。

  • SR-IOV 対応ドライバを持つ PF のリストを取得します

  • ドライバでサポートされるデバイス固有のパラメータを取得します

  • 特定のデバイス構成を検証します

  • マシン記述子 (MD) ファイルをすべての有効な構成詳細で更新するほか、VF の割り当てや削除も行います

次の図に、Sparc OVM 構成の概要図を示します。

図 27  Sparc OVM 構成の概要図

image:この図は、Sparc OVM 構成の概要図を示しています。

基本的なプラットフォームでの SR-IOV 構成

Oracle Solaris 11 リリースの時点では、x86 のような基本的なプラットフォーム上で SR-IOV を構成する際に使用できる構成ツールはありません。