mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-23 09:22:59 +02:00
add swconfig for lamobo-r1 switch setup.
This commit is contained in:
79
src/initscripts/init.d/swconfig
Normal file
79
src/initscripts/init.d/swconfig
Normal file
@@ -0,0 +1,79 @@
|
||||
#!/bin/sh
|
||||
########################################################################
|
||||
# Begin $rc_base/init.d/swconfig
|
||||
#
|
||||
# Description : Script to setup lan switch.
|
||||
# don't edit this script! If you want change the functions
|
||||
# create an own script called swconfig.user
|
||||
########################################################################
|
||||
|
||||
. /etc/sysconfig/rc
|
||||
. ${rc_functions}
|
||||
|
||||
if [ -e /etc/init.d/swconfig.user ]; then
|
||||
/etc/init.d/swconfig.user $*
|
||||
exit ${?}
|
||||
fi
|
||||
|
||||
if [ -e /var/ipfire/ethernet/swconfig_mac ]; then
|
||||
SWMAC=`cat /var/ipfire/ethernet/swconfig_mac`
|
||||
else
|
||||
# Generate a random local administrated mac address for vlan swconfig.
|
||||
SWMAC=`printf "%1x2:%02x:%02x:%02x:%02x" $[RANDOM%16] $[RANDOM%256] $[RANDOM%256] $[RANDOM%256] $[RANDOM%256]`
|
||||
echo $SWMAC > /var/ipfire/ethernet/swconfig_mac
|
||||
fi
|
||||
|
||||
case "${1}" in
|
||||
start)
|
||||
case `cat /proc/device-tree/model` in
|
||||
"Lamobo-R1")
|
||||
#
|
||||
# Lamobo R1 aka BPi R1 Routerboard
|
||||
#
|
||||
# Speaker | LAN1 | LAN2 | LAN3 | LAN4 || LAN5 | HDMI
|
||||
# SW-Port | P2 | P1 | P0 | P4 || P3 |
|
||||
# VLAN | 11 | 12 | 13 | 14 ||ALL(t)|
|
||||
#
|
||||
# Switch-Port P8 - ALL(t) boards internal CPU Port
|
||||
#
|
||||
device=`ls /sys/class/net/*/device/stmmac-0* | head -1 | cut -d/ -f5`
|
||||
ip link set $device up
|
||||
boot_mesg "Configure vlan-switch on $device ..."
|
||||
# Reset switch, counter and enable vlan mode
|
||||
swconfig dev $device set reset 1
|
||||
swconfig dev $device set reset_mib 1
|
||||
swconfig dev $device set enable_vlan 1
|
||||
# configure vlans
|
||||
swconfig dev $device vlan 11 set ports "2 3t 8t"
|
||||
swconfig dev $device vlan 12 set ports "1 3t 8t"
|
||||
swconfig dev $device vlan 13 set ports "0 3t 8t"
|
||||
swconfig dev $device vlan 14 set ports "4 3t 8t"
|
||||
# activate new config
|
||||
swconfig dev $device set apply 1
|
||||
# create interfaces for the vlan's
|
||||
modprobe 8021q
|
||||
vconfig add $device 11
|
||||
vconfig add $device 12
|
||||
vconfig add $device 13
|
||||
vconfig add $device 14
|
||||
# set local mac addresses.
|
||||
ip link set dev $device.11 address $SWMAC:11
|
||||
ip link set dev $device.12 address $SWMAC:12
|
||||
ip link set dev $device.13 address $SWMAC:13
|
||||
ip link set dev $device.14 address $SWMAC:14
|
||||
# need to restart udev...
|
||||
killall udevd
|
||||
/etc/init.d/udev start
|
||||
;;
|
||||
esac
|
||||
exit 0
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: ${0} {start}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# End $rc_base/init.d/swconfig
|
||||
|
||||
Reference in New Issue
Block a user