编写适用于 Oracle® Solaris 11.2 的设备驱动程序

退出打印视图

更新时间: 2014 年 9 月
 
 

设备配置参数

PF 驱动程序必须支持下表中列出的配置参数。这些参数可以导出到 Sparc OVM Manager 中。仅当所有参数均已配置时,配置才算完成。

表 21-1  配置参数定义
配置参数
定义
示例
与标准相关的配置参数
可以支持的 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-允许 VF 使用的最大 MTU。

  • max-vlans-网络类 PF 驱动程序支持的 vlan 插槽的最大数量。

特定于类的参数
基于设备类的通用属性。例如,以太网设备可能具有 MAC 地址、VLAN ID、端口 VLAN ID、带宽等属性。
期望使用特定于类的配置,并且这些配置可以定义每个参数的行为。

注 - 当设备配置参数发生更改时,应重新连接设备。

注 - 在启用 VF 之前请按以下顺序配置参数。特定于类的参数将基于特定于类的配置。
  1. 与标准相关的参数

  2. 特定于资源和设备的参数

  3. 特定于类的参数


pci.conf 文件

通过 PCI 配置信息文件 /etc/pci.conf,系统可以保存 PCI 配置(如特定 PF 的 VF 数量)。pci.conf 文件提供了以下内容:

  • -持久保留 PCI 配置以便在引导系统时可以自动创建 VF。

  • -由于配置文件是 boot_archive 的一部分,所以在系统引导期间可以使用 VF。


注 - /etc/pci.conf 添加到 /boot/solaris/filelist.ramdisk 文件中以便将 /etc/pci.conf 文件包括在 Oracle Solaris 引导进程中。

有关更多信息,请参见Appendix E, pci.conf File

设置设备配置参数

  • Sparc:可以通过 ldm 命令设置这类参数。有关详细信息,请参见 ldm (1M) 手册页。

  • x86:可通过 pci.conf 文件指定特定于类的参数。以下示例显示了在 pci.conf 文件中设置的参数。

示例 21-1  设置设备配置参数
[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 Manager 负责所有 Sparc OVM 平台上的 SR-IOV 配置。Sparc OVM Manager 负责以下操作:

  • 获取具有 SR-IOV 功能的驱动程序的 PF 列表

  • 获取驱动程序支持的特定于设备的参数

  • 验证特定的设备配置

  • 更新计算机描述符 (Machine Descriptor, MD) 文件的所有有效配置详细信息以及 VF 的分配和删除情况。

下图显示了 Sparc OVM 配置的概要视图。

图 21-2  Sparc OVM 配置的概要视图

image:下图显示了 Sparc OVM 配置的概要视图

裸机平台上的 SR-IOV 配置

在发行 Oracle Solaris 11 时,未提供任何可用来在裸机平台(包括 x86)上配置 SR-IOV 的工具。