I’m getting the lxd error “no matching virtual function” which leads me to this:
I have Intel i350 cards on two different servers running void linux kernel 5.6.2 and lxd 3.21. I can use the sriov virtual functions just fine with libvirtd, e.g., I assign a PF to a network connection and let it automatically assign available VFs.
I’d like to do the same in lxd, but I get this:
sudo lxc config device add void-test eth0 nic nictype=sriov parent=enp4s0f1
Error: Failed to start device "eth0": no matching virtual function found
ip link show enp4s0f1
3: enp4s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether a0:36:9f:4f:42:71 brd ff:ff:ff:ff:ff:ff
vf 0 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
vf 1 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
vf 2 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
vf 3 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
vf 4 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
vf 5 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
vf 6 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
Is there something else lxd expects in order to use the 7 available VFs?