[systemd-devel] "[Match]" section in systemd.link file doesn't match interface
Felix
systemd-devel at fj.hamme.net
Tue Mar 3 14:20:11 UTC 2020
Thank you for your help! I've found my problem and it was way simpler
than I thought.
The systemd.link manpage mentions:
"The first (in lexical order) of the link files that matches a given
device is applied. Note that a default file 99-default.link is shipped
by the system. Any user-supplied .link should hence have a lexically
earlier name to be considered at all."
My .link file wasn't considered because its file name came lexically
after '99-default.link'.
I'm now happily using the mac address for matching. I use `udevadm
test-builtin net_setup_link /sys/class/net/ens19` for applying a changed
.link file to my link.
On Tue, Mar 3, 2020, 10:59 Mantas Mikulėnas <grawity at gmail.com> wrote:
>
>
> On Mon, Mar 2, 2020, 16:59 Felix <systemd-devel at fj.hamme.net
> <mailto:systemd-devel at fj.hamme.net>> wrote:
>
> Hello everybody,
>
> I'm failing to set an alias for a link using systemd-networkd. Am I
> doing something wrong? Is this a bug?
>
>
> I'm on this systemd version:
> systemd 244 (244.3-1~bpo10+1)
> +PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP
> +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS
> +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid
>
> This runs on a Debian Buster inside a virtual machine hosted on a
> proxmox 6.1 server, if that matters.
>
> I'm trying to set an alias for a link using systemd-networkd,
> following
> this documentation:
> https://www.freedesktop.org/software/systemd/man/systemd.link.html#Alias=
> .
> I put my file in /etc/systemd/network/, as
> -rw-r--r-- 1 root root 56 Mär 2 14:06 ens19.link
> with this content:
>
> ```
> [Match]
> Path=/sys/class/net/ens19
>
>
> The Path= setting is documented to match against the ID_PATH udev
> property, not against the list of sysfs paths. (For example udevadm
> shows "pci-0000:01:00.0" on my machine.)
>
>
>
> [Link]
> Alias=myalias
> ```
>
> I also tried to replace `Path=/sys/class/net/ens19` with
> `MACAddress=be:19:32:ed:c0:61` and `OriginalName=ens19`.
>
>
> OriginalName matches the kernel-assigned name (udev property
> 'INTERFACE'), which is always either eth# or wlan# or usb# or similar.
>
> Names such as ens# or eno# are not original – the interfaces are
> renamed by udev, and this actually happens *after* applying .link
> files (as the .link files specify which naming policy to use in the
> first place.)
>
>
>
>
> After `systemctl restart systemd-networkd` or even rebooting the alias
> is still not set:
>
>
>
> How can I set the link alias using systemd-networkd?
>
>
> .link files are not applied by networkd – they're applied by udev.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20200303/b1bf1d77/attachment.htm>
More information about the systemd-devel
mailing list