wish: easier assignment of sriov enabled network interfaces to VMs

Tobbe

Member
Oct 4, 2021
21
7
8
Hello

i guess this one is a bit obvious but something that would be nice to have is an easy way to directly from the web gui to add a vf from a sriov enabled network card to a vm.
it can be done already with manual configuration and pci assignments but it is not as convenient.

the way i think it should work (or something similar, no clue what is possible or not):

thing needed first, not done by proxmox:
the admin first enables sriov in some way, for example via udev rule to set sriov_numvfs > 0
and then also blacklists the vf drivers in the host so they don't claim the interfaces.

in proxmox gui:
extend the "add network device" dialog to also allow for sriov by allowing you to pick the physical sriov enabled device (probably filter on network devices with sriov_numvfs > 0 or similar)
i don't think you should be forced to pick a specific vf.
the dialog should allow you to select mac and vlan, possibly other relevant things but personally i care mostly about mac and vlan.

just before the vm is started:
find first unused vf (possibly just check for any vf that got mac of all zeros and is down) and configure it.
find pci identifier for this vf and do a normal pci assignment to the vm.

after vm closes:
cleanup the vf by reverting what was done before so it gets marked as free again.


i know that libvirt got decent support for sriov enabled network devices and i was using it successfully before moving over to proxmox.