aboutsummaryrefslogtreecommitdiff
path: root/target/linux/kirkwood/base-files/lib/preinit/07_set_iface_mac
blob: 393c540d9733e72dec91ec97361a990dfe3d41ec (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
. /lib/functions.sh
. /lib/functions/system.sh

preinit_set_mac_address() {
	local mac

	case $(board_name) in
	checkpoint,l-50)
		mac=$(mtd_get_mac_ascii bootldr-env lan1_mac_addr)

		ip link set dev lan1 address $mac 2>/dev/null
		ip link set dev lan2 address $(macaddr_add $mac 1) 2>/dev/null
		ip link set dev lan3 address $(macaddr_add $mac 2) 2>/dev/null
		ip link set dev lan4 address $(macaddr_add $mac 3) 2>/dev/null
		ip link set dev lan5 address $(macaddr_add $mac 4) 2>/dev/null
		ip link set dev lan6 address $(macaddr_add $mac 5) 2>/dev/null
		ip link set dev lan7 address $(macaddr_add $mac 6) 2>/dev/null
		ip link set dev lan8 address $(macaddr_add $mac 7) 2>/dev/null
		ip link set dev dmz address $(macaddr_add $mac 8) 2>/dev/null
		ip link set dev dsl address $(macaddr_add $mac 9) 2>/dev/null
		;;
	endian,4i-edge-200)
		mac=$(cat /sys/class/net/eth0/address)

		ip link set dev port1 address $mac 2>/dev/null
		ip link set dev port2 address $(macaddr_add $mac 1) 2>/dev/null
		ip link set dev port3 address $(macaddr_add $mac 2) 2>/dev/null
		ip link set dev port4 address $(macaddr_add $mac 3) 2>/dev/null
		;;
	iptime,nas1)
		mac=$(mtd_get_mac_binary u-boot 0x3ffa8)
		ip link set dev eth0 address $mac 2>/dev/null
		;;
	esac
}

boot_hook_add preinit_main preinit_set_mac_address