我正在尝试在 Ubuntu 18.04 上为网卡设置 SRIOV。我似乎已经正确完成了 IOMMU 配置,并且可以将 PCI 设备添加到 VM 而不会出现错误,但我遇到一个问题,即客户机看不到设备的 PCI ID,而主机看到的 ID 却不一样。这导致主机不知道它是什么类型的设备,并且不会加载网络驱动程序。我见过的所有指南都指出,主机和客户机中的 VF ID 是相同的,但我的 VF ID 如下所示:主机:
81:00.4 以太网控制器:Solarflare Communications SFC9020 10G 以太网控制器(虚拟功能)
客人:
00:06.0 以太网控制器:Solarflare Communications SFC9020 10G 以太网控制器(虚拟功能)
来宾正确识别出 81:00.4 是网络设备,我可以看到“ip link”和“ip address”中的所有详细信息,但来宾似乎不知道如何处理 00:06.0
物理功能已启动,所有虚拟功能也已启动并在主机上具有 MAC 地址,因此就驱动程序配置而言一切似乎都很好。
enp129s0f1:mtu 1500 qdisc mq 状态 UP 模式 DEFAULT 组默认 qlen 1000
链接/以太 00:0f:53:07:91:c5 brd ff:ff:ff:ff:ff:ff
vf 0 MAC 0e:f0:f0:07:ba:11,欺骗检查开启,链路状态自动
vf 1 MAC 01:d0:0b:a1:1a:d5,欺骗检查开启,链路状态自动
vf 2 MAC de:ad:0c:0b:a1:70,欺骗检查开启,链路状态自动
vf 3 MAC 11:5e:ab:a5:5a:55,欺骗检查开启,链路状态自动
关于我做错什么以及如何正确地做到这一点,您有什么想法吗?
答案1
这个问题很蠢。设备的总线 ID 在 VM 描述符中定义,因此这里没有什么奇怪的。我遇到的问题与驱动程序有关,而不是总线 ID。