LXD SR-IOV Network "Unavailable"

I created an SR-IOV network but it shows up as unavailable and I can’t figure out why. I’m using a Mellanox Connect-X 6, and I have 16 VFs enabled, and they work fine when used via a profile, or as a directly attached instance device:

devices:
eth0:
nictype: sriov
parent: enp76s0np0
type: nic

But when I create an “sriov” network with the exact same parameters, the network is created successfully, but it shows up as “Unavailable”.

❯ lxc network create sriov-net --type=sriov parent=enp76s0np0
❯ lxc network show sriov-net
config:
parent: enp76s0np0
description: “”
name: sriov-net
type: sriov
used_by: []
managed: true
status: Unavailable
locations:

  • none

Is there something I’m doing wrong or anyway to debug why it’s unavailable when the NIC and VFs clearly work fine?

@tomp

Please can you show output of ‘ip a’ on host?

In case it’s still relevant, here’s my output of ip addr:

❯ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp76s0np0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 1c:34:ff:ff:77:04 brd ff:ff:ff:ff:ff:ff
    inet 172.16.10.178/24 brd 172.16.10.255 scope global dynamic noprefixroute 100g.10
       valid_lft 3559sec preferred_lft 3559sec
    inet6 2603:ffff:ffff:ffff:741c:899b:47a1:5a1a/64 scope global dynamic noprefixroute 
       valid_lft 2591988sec preferred_lft 604788sec
    inet6 fe80::d7f6:ffff:4100:523d/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: enp69s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether b4:2e:ff:ff:5c:5c brd ff:ff:ff:ff:ff:ff
4: enp69s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether b4:2e:ff:ff:5c:5e brd ff:ff:ff:ff:ff:ff
5: wlp72s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 72:ef:17:34:30:66 brd ff:ff:ff:ff:ff:ff permaddr 50:e0:85:f7:74:b1
8: enp76s0v1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 2a:f3:1e:a6:26:47 brd ff:ff:ff:ff:ff:ff
9: enp76s0v2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 06:df:10:19:7c:59 brd ff:ff:ff:ff:ff:ff
10: enp76s0v3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ea:09:03:6d:ba:48 brd ff:ff:ff:ff:ff:ff
11: enp76s0v4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether fe:a8:81:55:da:c3 brd ff:ff:ff:ff:ff:ff
12: enp76s0v5: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether b6:d1:bf:ba:36:85 brd ff:ff:ff:ff:ff:ff
13: enp76s0v6: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 6e:48:99:b4:1d:21 brd ff:ff:ff:ff:ff:ff
14: enp76s0v7: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether f2:de:3c:b9:75:ff brd ff:ff:ff:ff:ff:ff
15: enp76s0v8: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether c2:8f:fc:8c:63:79 brd ff:ff:ff:ff:ff:ff
16: enp76s0v9: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 22:bc:21:43:93:21 brd ff:ff:ff:ff:ff:ff
17: enp76s0v10: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 7e:94:6c:b1:a4:5b brd ff:ff:ff:ff:ff:ff
18: enp76s0v11: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 72:12:5c:50:cb:a7 brd ff:ff:ff:ff:ff:ff
19: enp76s0v12: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 36:1a:61:b5:b0:f6 brd ff:ff:ff:ff:ff:ff
20: enp76s0v13: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ee:cb:09:1c:ea:7a brd ff:ff:ff:ff:ff:ff
21: enp76s0v14: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ce:5f:7b:0d:06:72 brd ff:ff:ff:ff:ff:ff
22: enp76s0v15: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 8e:f4:1b:e6:bd:96 brd ff:ff:ff:ff:ff:ff
24: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:ab:13:c5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
``