I cant do PCI passthru of a NIC to a OPNsense. bare metal performance wasnt great either, so I switched to openWRT and bought a different NIC capable of SR-IOV. my motherboard groups things sloppily so PCI passthrough wont work, but SR-IOV will supposedly get me most of the way there. I am just not wrapping my head around making this work.
I just need toilet paper pass the ports on the i350 NIC into the VM. I dont want the host to use them, it has its own onboard NIC for rescue usage. I just need this stupid thing to pass create the VFs at boot, pass them to the VM, and let the VM use them.
I’ve resorted to using chatGPT to sort through this and obviously that is not going well.
Does anyone have a guide somewhere about this? everything I’m finding is for GPUs, not NICs.


You can start with this, but does your motherboard support sr-iov? If you can’t use normal PCI passthrough because of lack of IOMMU granularity, the odds of it supporting SR-IOV are slim.
It does support SR-IOV. It supports IOMMU and ACS too, but only for the GPU slot and one of the M2 slots too, so I kind of have to dance around this. Everything else is dumped into a single IOMMU group.
I considered the proxmox approach but decided against it because my GPU is supposedly really difficult to make cooperate with these virtualized environments, so I made it go bare metal and the only VM that would need run would then be the router/firewall stuff. As you can see, thats not going super well.
I’m likely going to end up getting another motherboard just for the freaking passthrough. The whole point of this was to get myself off the cloud and give myself the netboot setup I actually wanted rather than what firewalla has decided I should have but its just not going well :(.
What is your mobo model?
https://pg.asrock.com/MB/AMD/B550 Phantom Gaming 4/index.asp