5.4. NovaPCIPassthrough 設定のガイドライン

  • NIC のデバイス名は変更される可能性があるため、PCI パススルーを設定する場合は devname パラメーターを使用しないでください。代わりに、vendor_idproduct_id の方が安定しているため使用するか、NIC の address を使用してください。
  • 特定の Physical Function (PF) をパススルーするには、PCI アドレスが各デバイスに固有であるので、address パラメーターを使用できます。または、product_id パラメーターを使用して PF をパススルーすることもできますが、同じ種別の PF が複数ある場合には、PF の address も指定する必要があります。
  • すべての Virtual Function (VF) をパススルーするには、PCI パススルーに使用する VF の product_id および vendor_id のみを指定します。NIC の分割に SRIOV を使用し、VF 上で OVS を実行している場合は、VF の address も指定する必要があります。
  • PF の VF のパススルーだけを設定し、PF そのもののパススルーは設定しない場合は、address パラメーターを使用して PF の PCI アドレスを指定し、product_id を使用して VF の 製品 ID を指定することができます。

address パラメーターの設定

address パラメーターは、デバイスの PCI アドレスを指定します。String または dict マッピングのいずれかを使用して、address パラメーターの値を設定できます。

文字列形式

文字列を使用してアドレスを指定する場合は、以下の例のようにワイルドカード (*) を含めることができます。

NovaPCIPassthrough:
  -
     address: "*:0a:00.*"
     physical_network: physnet1
ディクショナリー形式

ディクショナリー形式を使用してアドレスを指定する場合は、以下の例のように正規表現構文を含めることができます。

NovaPCIPassthrough:
  -
     address:
       domain: ".*"
       bus: "02"
       slot: "01"
       function: "[0-2]"
     physical_network: net1
注記

Compute サービスは、アドレス フィールドの設定を次の最大値に制限します。

  • domain - 0xFFFF
  • bus - 0xFF
  • slot - 0x1F
  • function - 0x7

Compute サービスは、16 ビットアドレスドメインを持つ PCI デバイスをサポートします。Compute サービスは、アドレスドメインが 32 ビットの PCI デバイスを無視します。