Start passthrough VM and its dependents by device identity, not address

Adding a PCIe card can renumber the buses behind it, so a hostpci entry
that names a PCI address can pass through the wrong device. These start
the VM only after finding each device by vendor/device/subsystem ID or
by its MAC-pinned interface, repoint its resource mapping if it moved,
and refuse to start on anything ambiguous. Its dependents then wait for
a port on it to answer before starting, so they find their shares up.
This commit is contained in:
ergosteur
2026-10-25 02:29:49 -04:00
parent 0fde1426b0
commit 0d55a6819d
7 changed files with 410 additions and 0 deletions
@@ -0,0 +1,13 @@
[Unit]
Description=Start the passthrough VM after checking its PCIe devices
After=pve-guests.service pve-cluster.service network-online.target
Wants=network-online.target
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/opt/ergosteur/start-passthrough-vm.sh
TimeoutStartSec=300
[Install]
WantedBy=multi-user.target