PCI slot and function number for ARI enabled devices
Eric van Gyzen
vangyzen at FreeBSD.org
Tue Mar 14 13:31:05 UTC 2017
On 03/14/2017 01:37, Mu Lichao wrote:
> Hi,
>
> I am trying to enable Intel 82599 10GbE SR-IOV VFs on FreeBSD 12-CURRENT, and after enabled, the SR-IOV VFs can be seen by pciconf(1), but can not be seen by lspci(1), which is installed from ports/sysutils/pciutils:
> # pciconf -l | tail -2
> ixv0 at pci0:1:0:128: class=0x020000 card=0x002a1fc1 chip=0x10ed8086 rev=0x01 hdr=0x00
> ixv1 at pci0:1:0:130: class=0x020000 card=0x002a1fc1 chip=0x10ed8086 rev=0x01 hdr=0x00
>
> # lspci | grep 82599
> 01:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
> 01:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
>
> After some debugging, I found that it is because of ARI. After ARI is enabled, the slot number is always 0 and the function number can be range between 0 and 255 when reading from /dev/pci, and this breaks lspci(1).
>
> Is it a behavior by design or not?
It is by design. See section 6.13 of the PCIe specification. I imagine lspci
will need to be fixed.
Eric
More information about the freebsd-current
mailing list