[systemd-devel] on the default for PredictableNetworkInterfaceNames

Xen list at xenhideout.nl
Mon Apr 11 20:35:42 UTC 2016


Greg KH schreef op 11-04-16 22:19:

>> My device is enp3s0, which implies 3rd bus number, which it indeed is:
>>
>> E: ID_PATH=pci-0000:03:00.0
>>
>> Are you telling me there are systems where this is not guaranteed to be
>> stable?
> 
> Yes, including your own.

So biosdev is not guaranteed to be stable either.

> 
>> Maybe these two numbers are coincidentally the same and not
>> related. It's an onboard chip (as most) and so not really geograpically
>> located.
> 
> Put a new PCI device in your system, or boot it in a docking station, or
> plug in some thunderbolt devices before booting and then look at this
> number.

This is my system:

01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT
640] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GK107 HDMI Audio Controller
(rev a1)
02:00.0 Parallel controller: Oxford Semiconductor Ltd Device c100
02:00.1 Serial controller: Oxford Semiconductor Ltd Device c101
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 02)
04:06.0 Multimedia audio controller: C-Media Electronics Inc
CMI8738/CMI8768 PCI Audio (rev 10)
04:0e.0 FireWire (IEEE 1394): Texas Instruments TSB43AB23
IEEE-1394a-2000 Controller (PHY/Link)

01, 02 and 04 are physical cards. In this list, only 03 is not physical.
It seems obvious that this would change if I changed anything, but. Well
that makes writing configuration files based on it troublesome to begin
with.

For instance this might mean that if I remove the com/lpt card, my
ethernet interface name will change (it might change from enp3s0 to enp2s0).

I have no thunderbolt/docking station here, but that would be even
worse. I thought you people said the current system would be very stable.


> But, it's the best that the system can do, as obviously your bios does
> not provide a slot name for the PCI device, otherwise the naming scheme
> would have picked that.

Name or number? I only see a provision for slot numbers.

If indeed adding devices would change all of this then there is no
reason at all to stick with the current naming scheme over something a
little simpler.

> Go file a bug for your laptop manufacturer to properly provide the
> needed PCI slot number, and then your id will not change.

Actually it is a regular motherboard but I will put this to the test.

>> In all of the examples though, this is not a coincidence and these
>> numbers are identical. This PCI path is used for the biosdev name.
>>
>> You are saying it is not stable?
> 
> Yes, see above.

So there goes all that effort......


> The naming scheme starts with the most stable thing it can find and
> works downward.  PCI ids are usually "good enough" for almost everyone,
> like you are seeing on your system.  But they do change, which is why
> most sane BIOSes provide PCI slot information, as those correspond
> directly to the hardware location in the system.

If the ethernet name does change if I take out a non-related card, it is
much worse than in the old system.

I will check, thanks.


More information about the systemd-devel mailing list