本章节中描述了 SRIOV 配置高级参数,如下图所示。
图 1. SRIOV 配置选项卡
- “General SRIOV Config”(通用 SRIOV 配置)
- 该值用于指定第 1 项 PF 的偏移,其中含至少 1 项已启用的 VF。启用 ARI 时,允许的值为 'd4 或 'd64,所有 PF 中的 VF 总数加上该字段的值不得超过 256。禁用 ARI 时,该字段将设为 1,这样仅支持 1PF 加上 7VF 的非 ARI SR-IOV 配置。
- “Cap Version”(功能版本)
- 表示对应物理功能的 4 位 SR-IOV 功能版本。
- “Number of PFx VFs”(PFx VF 数量)
- 表示与物理功能关联的虚拟功能的数量。共有 252 项虚拟功能可供在 4 项物理功能之间灵活使用。任何已启用的 PF 的 VF 数量均不得为 0。
- “PFx Dependency Link”(PFx 依赖关系链路)
- 表示对应物理功能的 SR-IOV 功能依赖关系链路。器件的编程模型的一组功能之间可能存在特定于供应商的依赖关系。“Function Dependency Link”(功能依赖关系链路)字段用于描述这些依赖关系。
- 首个 VF 偏移
- 表示对应物理功能 (PF) 的首个虚拟功能 (VF) 的偏移。PFx 偏移始终固定不变。PF0 驻留在偏移 0 处、PF1 驻留在偏移 1 处、PF2 驻留在偏移 2 处,而 PF3 则驻留在偏移 3 处。
共有 252 项虚拟功能可供使用。这些虚拟功能的功能编号范围为 4 到 255。
您可在自定义 GUI 中针对首个 VF 偏移选择 4 或 64,前提是最后一个 VF 偏移不超过 255。
- 示例
-
- 当已启用的 VF 总数小于 192 时,请针对首个 VF 偏移选择 4 或 64。最后一个 VF 偏移将小于 255。
- 当已启用的 VF 总数超过 192 时,请针对首个 VF 偏移选择 4。在此情况下,针对首个 VF 偏移不允许使用 64,因为最后一个 VF 偏移将超过 255。
虚拟功能按顺序映射到 VF,但 PF 优先。例如,如果 PF0 具有 2 项虚拟功能,而 PF1 具有 3 项虚拟功能,则会发生以下映射:
PFx_FIRST_VF_OFFSET 的计算方式为将物理功能的偏移减去虚拟功能的首个偏移。
PFx_FIRST_VF_OFFSET = (PFx first VF offset - PFx offset)
在以上示例中,使用的偏移如下:
PF0_FIRST_VF_OFFSET = (4 - 0) = 4 PF1_FIRST_VF_OFFSET = (6 - 1) = 5
PF1 的初始偏移是连接到 PF0 的 VF 数量的函数,定义方式如以下伪代码所示:
PF1_FIRST_VF_OFFSET = FIRST_VF_OFFSET + NUM_PF0_VFs - 1
同样,对于其它 PF:
PF2_FIRST_VF_OFFSET = FIRST_VF_OFFSET + NUM_PF0_VFs + NUM_PF1_VFs - 2 PF3_FIRST_VF_OFFSET = FIRST_VF_OFFSET + NUM_PF0_VFs + NUM_PF1_VFs + NUM_PF2_VFs - 3
- VF 器件 ID
- 表示与物理功能关联的所有虚拟功能的 16 位器件 ID。
- “SRIOV Supported Page Size”(SRIOV 支持的页面大小)
- 表示物理功能支持的页面大小。此物理功能支持的页面大小为 2(n+12),前提是设置的位 n 为 32 位寄存器。