SR-IOV - PF 和 VF 之间的区别

SR-IOV - Difference between PF and VF

我正在研究 SR-IOV 并正在寻找某些示例,以说明 PF 可以做而 VF 不能做的事情。例如,一件事是一个 VF 不能创建更多的 VF。

有提及:

A PCI Function that supports the SR-IOV capabilities as defined in SR-IOV specification. A PF contains the SR-IOV capability structure and is used to manage the SR-IOV functionality.

那么,在 SR-IOV 功能中究竟有哪些选项是 VF 无法访问或无法访问的。

例子会很清楚。并随时提出任何问题以进行澄清。

这个问题的答案并不是一成不变的,并且在实施它的不同公司之间可能会有所不同。例如,在这种情况下,更改 VF 中的 MAC 地址可能是 VF 在没有 PF 访问权或更改 VF 的 MTU 的情况下无法执行的操作。 VF 会通过邮箱 ping 其对应的 PF 以请求更改。

例如,在 Intel 82559 SR-IOV Driver Companion Guide 中,它提到哪些操作需要访问 PF 才能执行: Actions taken via Mailbox System - VF to PF (Link to the guide: https://www.intel.com/content/dam/doc/design-guide/82599-sr-iov-driver)

此外,如果您想使用驱动程序代码对此进行分析,则无论何时在 VF 中调用命令,您都可以清楚地看到邮箱系统的使用情况,并且您可以在驱动程序代码中添加打印以查看它们何时被触发,提示你邮箱是否被使用。

(邮箱是PF和VF之间的通信路径)