set_netdev_labels() {
	local dir
	local label
	local netdev

	for dir in /sys/class/net/*; do
		[ -r "$dir/of_node/label" ] || continue
		label="$(cat "$dir/of_node/label")"
		netdev="$(basename $dir)"
		[ "$netdev" = "$label" ] && continue
		ip link set "$netdev" name "$label"
	done
}

boot_hook_add preinit_main set_netdev_labels
