aboutsummaryrefslogtreecommitdiff
path: root/target/linux/qoriq/base-files/etc/board.d/02_network
blob: 355c8d37a4644f72737edc9b1d9757c3eaf7758f (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
# SPDX-License-Identifier: GPL-2.0-or-later

. /lib/functions/uci-defaults.sh
. /lib/functions.sh
. /lib/functions/system.sh

board_config_update
board=$(board_name)

wg_set_opt_interface() {
	local device="$1"
	local offset="$2"

	ucidef_set_interface "$device" device "$device" protocol static ipaddr "10.0.${offset}.1" netmask 255.255.255.0
}

case "$board" in
watchguard,firebox-m300)
	ucidef_set_interfaces_lan_wan "eth1" "eth0"
	wg_set_opt_interface "eth2" "2"

	sweth_mac_offset=0x186d

	for sweth in $(find /sys/class/net/ -name 'sweth*' -print); do
		device="$(basename "$sweth")"
		mac="$(mtd_get_mac_text wg_cfg0 "$sweth_mac_offset")"
		switchports="$switchports $device"
		ucidef_set_network_device_mac "$device" "$mac"
		wg_set_opt_interface "$device" "${device#sweth}"
		sweth_mac_offset=$(printf "0x%X\n" $(( $sweth_mac_offset + 0x14)))
	done

	;;
esac

board_config_flush

exit 0