9ba2deb7b4213f2f275a9716f97dd5f5ccfbb433
[openwrt/staging/rmilecki.git] / target / linux / oxnas / base-files / etc / board.d / 02_network
1 #!/bin/sh
2
3 . /lib/functions/uci-defaults.sh
4 . /lib/functions/system.sh
5
6 bootloader_cmdline_var() {
7 local param
8 local pval
9 for arg in $(cat /proc/device-tree/chosen/bootloader-args); do
10 param="$(echo $arg | cut -d'=' -f 1)"
11 pval="$(echo $arg | cut -d'=' -f 2-)"
12
13 if [ "$param" = "$1" ]; then
14 echo "$pval"
15 fi
16 done
17 }
18
19 legacy_boot_mac_adr() {
20 local macstr
21 local oIFS
22 macstr="$(bootloader_cmdline_var mac_adr)"
23 oIFS="$IFS"
24 IFS=","
25 set -- $macstr
26 printf "%02x:%02x:%02x:%02x:%02x:%02x" $1 $2 $3 $4 $5 $6
27 IFS="$oIFS"
28 }
29
30 oxnas_setup_interfaces()
31 {
32 local board="$1"
33
34 case $board in
35 *)
36 ucidef_set_interface_lan "eth0" "dhcp"
37 ;;
38 esac
39 }
40
41 oxnas_setup_macs()
42 {
43 local board="$1"
44 local lan_mac=""
45
46 case $board in
47 shuttle,kd20)
48 lan_mac="$(legacy_boot_mac_adr)"
49 ;;
50 esac
51
52 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
53 }
54
55 board_config_update
56 board=$(board_name)
57 oxnas_setup_interfaces $board
58 oxnas_setup_macs $board
59 board_config_flush
60
61 exit 0