The shared IOMMU groups result in ports of a dual port network adapter can’t function individually.
A home PVE server uses an Intel 82599 Dual Port network adapter, with one port (01:00:00, port A) used by the server itself, and the other port (01:00:01, port B) can be passthrough to a VM.
And the ovs bridge vmbr1
has been binded to port A (eno1) and used by the server.
If port B hasn’t been passthrough to any VM, the port A works fine. However, once port B is set to passthrough to a VM, and as soon as the VM started, the port A becomes not avaiable to the server. The ovs-vsctl show
command returns an error as:
# ovs-vsctl show
...
could not open network device vmbr1 (No such device)
According to How to exclude network card from PCI Passthrough?, the issue is caused by the shared IOMMU groups, once the VM started, the VM took control of the network adapter, and the server couldn’t access to port A any more.
According the the post, edit the PVE passthrough configuration as below solved the issue.
added an acs parameter “pcie_acs_override=downstream,multifunction” to the grub command line, updated grub, rebooted, and it was fixed.