]> git.ipfire.org Git - ipfire-2.x.git/blob - src/initscripts/system/swconfig
Merge remote-tracking branch 'origin/master' into next
[ipfire-2.x.git] / src / initscripts / system / swconfig
1 #!/bin/sh
2 ########################################################################
3 # Begin $rc_base/init.d/swconfig
4 #
5 # Description : Script to setup lan switch.
6 # don't edit this script! If you want change the functions
7 # create an own script called swconfig.user
8 ########################################################################
9
10 . /etc/sysconfig/rc
11 . ${rc_functions}
12
13 if [ -e /etc/init.d/swconfig.user ]; then
14 /etc/init.d/swconfig.user $*
15 exit ${?}
16 fi
17
18 if [ -e /var/ipfire/ethernet/swconfig_mac ]; then
19 SWMAC=`cat /var/ipfire/ethernet/swconfig_mac`
20 else
21 # Generate a random local administrated mac address for vlan swconfig.
22 SWMAC=`printf "%1x2:%02x:%02x:%02x:%02x" $[RANDOM%16] $[RANDOM%256] $[RANDOM%256] $[RANDOM%256] $[RANDOM%256]`
23 echo $SWMAC > /var/ipfire/ethernet/swconfig_mac
24 fi
25
26 case "${1}" in
27 start)
28 case `cat /proc/device-tree/model 2>/dev/null` in
29 "Lamobo R1")
30 #
31 # Lamobo R1 aka BPi R1 Routerboard
32 #
33 # Speaker | LAN4 | LAN3 | LAN2 | LAN1 || WAN | HDMI
34 # SW-Port | P2 | P1 | P0 | P4 || P3 |
35 # MAC-Add | 14 | 13 | 12 | 11 || 10 |
36 #
37 # Switch-Port P8 - internal CPU Port
38
39 # stop udev...
40 killall udevd
41
42 device=`ls /sys/class/net/*/device/driver/1c50000.ethernet/net | head -1`
43 ip link set $device up
44
45 # set local mac addresses.
46 ip link set dev wan address $SWMAC:10
47 ip link set dev lan1 address $SWMAC:11
48 ip link set dev lan2 address $SWMAC:12
49 ip link set dev lan3 address $SWMAC:13
50 ip link set dev lan4 address $SWMAC:14
51
52 # start udev...
53 killall udevd
54 /etc/init.d/udev start
55 ;;
56 esac 2> /dev/null
57 exit 0
58 ;;
59
60 *)
61 echo "Usage: ${0} {start}"
62 exit 1
63 ;;
64 esac
65
66 # End $rc_base/init.d/swconfig
67