Custom network interface names

From Alpine Linux
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This material is proposed for merging ...

It should be merged with mdev. This could be part of a "configuring mdev" section in the mdev article (Discuss)

This article shows how to rename/change name of a network interface.

Alpine Linux uses busybox mdev by default to manage devices in /dev. mdev reads /etc/mdev.conf and according to mdev documentation one can define a command to be executed per device definition. The command which is going to be used to change network interface name is nameif.

/etc/mdev.conf configuration

Contents of /etc/mdev.conf

-SUBSYSTEM=net;DEVPATH=.*/net/.*;.* root:root 600 @/sbin/nameif -s

Here we tell mdev to call nameif for devices found in /sys/class/net/.

# ls -d -C -1 /sys/class/net/eth* /sys/class/net/eth1 /sys/class/net/eth2 /sys/class/net/eth3 /sys/class/net/eth4 /sys/class/net/eth5

nameif configuration

nameif itself reads /etc/mactab by default. Example line for a network interface with following hwaddr

# cat /sys/class/net/eth0/address 90:e2:ba:04:28:c0

would be

# grep 90:e2:ba:04:28:c0 /etc/mactab dmz0 90:e2:ba:04:28:c0

ramdisk rebuild

/etc/mdev.conf is part of ramdisk

# grep /etc/mdev.conf /etc/mkinitfs/features.d/*.files /etc/mkinitfs/features.d/base.files:/etc/mdev.conf

thus we need to rebuild ramdisk

# mkinitfs $(ls /lib/modules/) ==> initramfs: creating /boot/initramfs-lts

finalization

To use renamed network interface without reboot, just call nameif while the network interface is down.

# nameif -s

And finally reboot...