SR-IOV 物理功能 (PF)

物理功能 (PF) 是指支持单根 I/O 虚拟化 (SR-IOV) 接口的网络适配器的 PCI Express (PCIe) 功能。 PF 包括 PCIe 配置空间中的 SR-IOV 扩展功能。 此功能用于配置和管理网络适配器的 SR-IOV 功能,例如启用虚拟化和公开 PCIe 虚拟功能 (VF)。

PF 在 Hyper-V 父分区的管理操作系统中作为虚拟网络适配器公开。 PF 微型端口驱动程序是一个 NDIS 微型端口驱动程序,用于管理管理操作系统中的 PF。 VF 以及用于支持 VF 的其他硬件和软件资源的的配置和预配通过 PF 微型端口驱动程序执行。 PF 微型端口驱动程序使用传统的 NDIS 微型端口驱动程序功能向管理操作系统提供网络 I/O 资源访问权限。 PF 驱动程序还用作一种管理在适配器上为 VF 分配的资源的方式。

PF 在其 PCIe 配置空间中支持 SR-IOV 扩展功能结构。 此结构已在 PCI-SIG 单根 I/O 虚拟化和共享 1.1 规范中定义。 此结构包括以下成员:

TotalVFs
一个只读字段,用于指定可与 PF 关联的最大 VF 数。

NumVFs
一个读写字段,用于指定 SR-IOV 网络适配器上可用的当前 VF 数。

SR-IOV 控制
一个读写字段,用于指定在网络适配器上启用或禁用 SR-IOV 功能的各种控制位。 例如,如果将 VF Enable 位设置为 1,则可以将 VF 与适配器上的 PF 关联。 如果将此位设置为 0,则 VF 将被禁用,且在适配器上不可见。

PF 还提供管理操作系统与外部物理网络进行通信的机制。 PF 提供与连接到 Hyper-V 可扩展交换机模块的所有虚拟网络适配器的网络连接。 这包括:

  • 提供与 Hyper-V 父分区的网络连接的虚拟网络适配器。

  • 提供与未分配 VF 的 Hyper-V 子分区的网络连接的虚拟网络适配器。

PF 微型端口驱动程序负责管理一个或多个 VF 使用的网络适配器资源。 因此,在为 VF 分配任何资源之前,会在管理操作系统中加载 PF 微型端口驱动程序。 释放为 VF 分配的所有资源后,系统会暂停 PF 微型端口驱动程序。