On Fr, 14.10.22 22:24, Etienne Champetier (champetier.etie...@gmail.com) wrote:

> Le ven. 14 oct. 2022 à 20:41, Etienne Champetier
> <champetier.etie...@gmail.com> a écrit :
> >
> > Hi All,
> >
> > When changing distro or distro major versions, network interfaces'
> > names sometimes change.
> > For example on some Dell server running CentOS 7 the interface is
> > named em1 and running Alma 8 it's eno1.
> >
> > I'm looking for a way to find the new interface name in advance
> > without booting the new OS.
> > One way I found is to unpack the initramfs, mount bind /sys, chroot,
> > and then run
> > udevadm test-builtin net_id /sys/class/net/INTF
> > Problem is that it doesn't give me right away the name according to
> > the NamePolicy in 99-default.link
> >
> > Is there a command to get the future name right away ?
>
> I think I found what I need:
> bash-4.4# udevadm test /sys/class/net/em1 2>/dev/null | awk  -F=
> '/ID_NET_NAME=/ {print $2}'
> eno1

The name depends on local and distro policy, systemd version,
kernel version and selected network naming scheme level (see
systemd.net-naming-scheme man page)

Use "udevadm info /sys/class/net/<iface>" to query the udev db for
automatically generated names.

Relevant udev props to look out for are:

ID_NET_NAME_FROM_DATABASE
ID_NET_NAME_ONBOARD
ID_NET_NAME_SLOT
ID_NET_NAME_PATH
ID_NET_NAME_MAC

These using hwdb info, firmware info, slot info, device path info or
MAC addresss for naming.

Lennart

--
Lennart Poettering, Berlin

Reply via email to