By default (and as we can see in the ID_NET_LINK_FILE= property above), the name policy is controlled by NamePolicy= in /usr/lib/systemd/network/99-default.link. On Jammy, this looks like:
root@jammy:~# cat /lib/systemd/network/99-default.link
# SPDX-License-Identifier: LGPL-2.1-or-later
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
Basically, udev will try those policies in order until one matches. Based on the udev properties above, it looks like the 'path' policy was selected. This *might* different than before, or maybe something else changed on the system that then changed resulting name constructed by udev.
Can you please enable debug logs for udev (ideally on both a working and non-working system), and share them here? E.g.
By default (and as we can see in the ID_NET_LINK_FILE= property above), the name policy is controlled by NamePolicy= in /usr/lib/ systemd/ network/ 99-default. link. On Jammy, this looks like:
root@jammy:~# cat /lib/systemd/ network/ 99-default. link Identifier: LGPL-2.1-or-later
# SPDX-License-
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Match]
OriginalName=*
[Link] sPolicy= database onboard slot path y=persistent
NamePolicy=keep kernel database onboard slot path
AlternativeName
MACAddressPolic
Basically, udev will try those policies in order until one matches. Based on the udev properties above, it looks like the 'path' policy was selected. This *might* different than before, or maybe something else changed on the system that then changed resulting name constructed by udev.
Can you please enable debug logs for udev (ideally on both a working and non-working system), and share them here? E.g.
$ mkdir -p /etc/systemd/ system/ systemd- udevd.service. d system/ systemd- udevd.service. d/debug. conf << EOF SYSTEMD_ LOG_LEVEL= debug
$ cat > /etc/systemd/
[Service]
Environment=
EOF
Then, reboot, and then run:
$ journalctl -u systemd- udevd.service -b > udev.log
and attach the result.