Proxmox PCI Passthrough & re-enumerating

Started by rs_taylor, January 09, 2026, 09:33:10 PM

Previous topic - Next topic
Hi,

I have a small x4 2.5gb port Mini PC bought to play around with OPNSense 25.7.10 and Proxmox 9.1.4.
I setup Proxmox and used PCI passthrough to pass 3 NIC to OPNSense VM and setup OPNSense from there.

Those ports comes through as IGC0,1,2 and i assign to WAN(1)/LAN(2) (never found a use for 0), it all works great for a year or so.
My problem is that i've now decided i only really need 2 ports and want to stop passing 1 port (The unassigned IGC0 in OPNSense).

I identified which PCI device that related to and thought i could just Stop OPNSense and tell Proxmox not to send the NIC anymore but it wasn't so simply.

What i found was the my OPNSense simply says LAN = IGC1 and WAN is IGC2 and if i stop sending IGC0 from Proxmox when FressBSD/OPNSense reboots it simply enumerates that IGCx's as it finds, only finding x2 now.

This meant that the IGCx's are not the NIC they had been (the new IGC0 became what was IGC1 and the new IGC1 became what was IGC2, and there is no longer and IGC2).
Really screwing up OPNSense.
Do i have to just spend time getting OPNSense working after switching or is there some way to link/lock the Interfaces to a MAC or fix the IGCx's numbering?

Once I found out what was going on i rolled back to the Orginal x3 NIC Passthrough, but would prefer to find a way to pass only x2 NICs.
It also seems odd that it 1 rebooted OPNSense 1 day and FreeBSD decided to put the IGC's in a different order it would screw things up again.

What am i missing?