Re: PCI slot and function number for ARI enabled devices

From: Eric van Gyzen <vangyzen_at_FreeBSD.org>
Date: Tue, 14 Mar 2017 08:30:56 -0500
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
Received on Tue Mar 14 2017 - 12:31:05 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:10 UTC