[systemd-devel] system is not match systemd.link configs

Mantas Mikulėnas grawity at gmail.com
Mon Oct 28 19:16:50 UTC 2024


On Mon, Oct 28, 2024 at 8:54 PM Henti Smith <henti at gaydonsmith.co.uk> wrote:

> Where can I find detailed information on where to find the names when
> systemd-udevd sees the interface for the first time ?
>

At that point, they are just the original kernel names: "eth0", "eth1", etc.

In other words, at that point in time it is not "earlier renaming" but
"future renaming", and the udev rule that processes your .link file is the
very same rule that *would've* renamed the interface to "eno2" otherwise.


>
> Silvio in my previous mail thread commented that I can use udevadm info
> which is what I'm trying to do here. Is there another method to get the
> "pre systemd" interface names that I should be using ?
>
> I cannot use mac addresses to match on, nor the Path as both are not
> reliable in my use case, hence using the full DEVPATH from udevadm.
>

Do you mean that .../0000:00:10.0/0000:05:00.0 is reliable, but
.../0000:05:00.0 in itself is not? In that case, it might be possible to
write a .network file or an udev rule that matches just these two
parameters, but without comparing against "enoX" or "enpX".

For example, maybe:
  Property=DEVPATH=/devices/pci0000:00/0000:00:11.0/0000:06:00.0/net/eth*
If networkd doesn't accept wildcards, then an udev rule may work:
  DEVPATH==" /devices/pci0000:00/0000:00:11.0/0000:06:00.0/net/*",
NAME="mvc-sw1"
eno2 would also have ATTRS{index}=="2" from the firmware.

-- 
Mantas Mikulėnas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20241028/a0865585/attachment.htm>


More information about the systemd-devel mailing list