SR_IOV with ixgbe not working?

Stefan Bethke stb at lassitu.de
Sun Jun 21 18:50:57 UTC 2020


I just started using an ASRock Rack X470D4U2-2T:
https://www.asrockrack.com/general/productdetail.asp?Model=X470D4U2-2T#Specifications <https://www.asrockrack.com/general/productdetail.asp?Model=X470D4U2-2T#Specifications>

It sports an X550 dual 10G ethernet controller:

# pciconf -lv
ix0 at pci0:1:0:0:	class=0x020000 card=0x15631849 chip=0x15638086 rev=0x01 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Ethernet Controller 10G X550T'
    class      = network
    subclass   = ethernet
ix1 at pci0:1:0:1:	class=0x020000 card=0x15631849 chip=0x15638086 rev=0x01 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Ethernet Controller 10G X550T'
    class      = network
    subclass   = ethernet

It should support SR-IOV:
# ls -l /dev/iov             
total 0
crw-------  1 root  wheel  0x32 Jun 20 23:04 ix0
crw-------  1 root  wheel  0x33 Jun 20 23:04 ix1
# iovctl -S -d ix1
The following configuration parameters may be configured on the PF:
	num_vfs : uint16_t (required)
	device : string (required)

The following configuration parameters may be configured on a VF:
	passthrough : bool (default = false)
	mac-addr : unicast-mac (optional)
	mac-anti-spoof : bool (default = true)
	allow-set-mac : bool (default = false)
	allow-promisc : bool (default = false)

If I try to create a number of virtual devices, things don't seem to work out:
# cat /etc/iovctl-ix1.conf 
PF {
  device: "ix1";
  num_vfs: 8;
}

DEFAULT {
  passthrough: true;
}

VF-0 {
  passthrough: false;
}

# iovctl -C -f /etc/iovctl-ix1.conf
# dmesg
...
ixv0: <Intel(R) PRO/10GbE Virtual Function Network Driver> at device 0.129 on pci1
ixv0: ...reset_hw() failure: Reset Failed!
ixv0: IFDI_ATTACH_PRE failed 5
device_attach: ixv0 attach returned 5
pci1: <unknown> at device 0.131 (no driver attached)
pci1: <unknown> at device 0.133 (no driver attached)
pci1: <unknown> at device 0.135 (no driver attached)
pci1: <unknown> at device 0.137 (no driver attached)
pci1: <unknown> at device 0.139 (no driver attached)
pci1: <unknown> at device 0.141 (no driver attached)
pci1: <unknown> at device 0.143 (no driver attached)

I haven't tried the passthrough devices yet, but I am interested in having at least one virtual device available in the host for use with a VIMAGE jail.

# uname -a
FreeBSD diesel.lassitu.de 12.1-STABLE FreeBSD 12.1-STABLE r362450 GENERIC  amd64


Should this be working? It seems some months ago it was necessary to compile the Intel driver instead of the in-tree one. I would have assumed that it would have been integrated by now. 

Stefan

-- 
Stefan Bethke <stb at lassitu.de>   Fon +49 151 14070811



More information about the freebsd-net mailing list