Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Mar 2017 08:30:56 -0500
From:      Eric van Gyzen <vangyzen@FreeBSD.org>
To:        Mu Lichao <mulichao@outlook.com>, "freebsd-current@freebsd.org" <freebsd-current@freebsd.org>
Subject:   Re: PCI slot and function number for ARI enabled devices
Message-ID:  <e1b94e33-d850-08f5-0e54-809b03186472@FreeBSD.org>
In-Reply-To: <HK2PR02MB0772321CB8F10557CD6291BCC4240@HK2PR02MB0772.apcprd02.prod.outlook.com>
References:  <HK2PR02MB0772321CB8F10557CD6291BCC4240@HK2PR02MB0772.apcprd02.prod.outlook.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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@pci0:1:0:128:      class=0x020000 card=0x002a1fc1 chip=0x10ed8086 rev=0x01 hdr=0x00
> ixv1@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e1b94e33-d850-08f5-0e54-809b03186472>