summaryrefslogtreecommitdiffstats
path: root/target/linux/mvebu/base-files/lib/preinit/06_set_iface_mac
blob: ae34ef49da53f00c97d444179903cd2392c86325 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#
# Copyright (C) 2014-2015 OpenWrt.org
# Copyright (C) 2016 LEDE-Project.org
#

preinit_set_mac_address() {
	local mac

	. /lib/functions.sh
	. /lib/mvebu.sh

	case $(mvebu_board_name) in
	armada-xp-linksys-mamba)
		mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
		ifconfig eth0 hw ether $mac 2>/dev/null
		ifconfig eth1 hw ether $mac 2>/dev/null
		;;
	armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby)
		# rename interfaces back to the way they were with 4.4
		case "$(readlink /sys/class/net/eth0)" in
			*f1070000*)
				ip link set eth0 name tmp0
				ip link set eth1 name eth0
				ip link set tmp0 name eth1
			;;
		esac

		mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
		mac_wan=$(macaddr_setbit_la "$mac")
		ifconfig eth1 hw ether $mac 2>/dev/null
		ifconfig eth0 hw ether $mac_wan 2>/dev/null
		;;
	armada-385-db-ap|armada-388-clearfog)
		# rename interfaces back to the way they were with 4.4
		case "$(readlink /sys/class/net/eth0)" in
			*f1070000*)
				ip link set eth0 name tmp0
				ip link set eth1 name eth0
				ip link set eth2 name eth1
				ip link set tmp0 name eth2
			;;
		esac
		;;
	esac
}

boot_hook_add preinit_main preinit_set_mac_address