1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-06 07:07:30 +02:00
openwrt-xburst/package/switch/files/switch.sh
nico 0a7ebe9ab1 switch: suppress boot error message on 2.4
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19922 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-01 01:12:57 +00:00

47 lines
955 B
Bash

#!/bin/sh
# Copyright (C) 2006-2010 OpenWrt.org
setup_switch_hw() {
local dev="$1"
local enable reset evlan
config_get_bool enable "$dev" enable 1
config_get_bool evlan "$dev" enable_vlan 1
config_get_bool reset "$dev" reset 1
local proc="/proc/switch/$dev"
[ -d "$proc" ] && {
echo "$reset" > "$proc/reset"
echo "$evlan" > "$proc/enable_vlan"
[ -f "$proc/enable" ] && echo "$enable" > "$proc/enable"
}
}
setup_switch_vlan() {
local s="$1"
local dev vlan ports
config_get dev "$s" device
config_get vlan "$s" vlan
config_get ports "$s" ports
[ -n "$dev" ] && [ -n "$vlan" ] && {
ports="${ports%\*}"
[ "$_vlan_pvid_set" = 1 ] || {
ports="$ports*"
_vlan_pvid_set=1
}
local proc="/proc/switch/$dev/vlan/$vlan/ports"
[ -f "$proc" ] && echo "$ports" > "$proc"
}
}
setup_switch() {
_vlan_pvid_set=0
config_load network
config_foreach setup_switch_hw switch
config_foreach setup_switch_vlan switch_vlan
}