# find all vlan configurations for this interface and set them up as well
for ifc in $interfaces; do
- config_get type "$ifc" type
- case "$type" in
+ config_get iftype "$ifc" type
+ case "$iftype" in
bridge) config_get ifs "$ifc" ifnames;;
*) config_get ifs "$ifc" ifname;;
esac
# DEBUG="echo"
find_config() {
- local type iface ifn
+ local iftype iface ifn
for ifn in $interfaces; do
- config_get type "$ifn" type
+ config_get iftype "$ifn" type
config_get iface "$ifn" ifname
- case "$type" in
+ case "$iftype" in
bridge)
config_get iface "$ifn" ifnames
;;
}
scan_interfaces() {
- local mode type iface
+ local mode iftype iface
interfaces=
config_cb() {
- config_get type "$CONFIG_SECTION" TYPE
- case "$type" in
+ config_get iftype "$CONFIG_SECTION" TYPE
+ case "$iftype" in
interface)
- config_get type "$CONFIG_SECTION" type
+ config_get iftype "$CONFIG_SECTION" type
config_get mode "$CONFIG_SECTION" proto
- case "$type" in
+ case "$iftype" in
bridge)
config_get iface "$CONFIG_SECTION" ifname
iface="${iface:-br-$CONFIG_SECTION}"
include network
scan_interfaces
-debug "### ifdown $type ###"
-type=$1
+cfg=$1
+debug "### ifdown $cfg ###"
-config_get proto "$type" proto
+config_get proto "$cfg" proto
[ -z "$proto" ] && { echo "interface not found."; exit; }
# kill active ppp daemon
-pid="$(cat /var/run/ppp-${type}.pid 2>/dev/null)"
+pid="$(cat /var/run/ppp-${cfg}.pid 2>/dev/null)"
[ -n "$pid" -a -d "/proc/$pid" ] && {
kill $pid
sleep 1
}
# kill any other process associated with the interface
-config_get ifname "$type" ifname
+config_get ifname "$cfg" ifname
pid="$(cat /var/run/${ifname}.pid 2>/dev/null)"
[ -n "$pid" -a -d "/proc/$pid" ] && kill -9 $pid
-config_get ifname "$type" ifname
+config_get ifname "$cfg" ifname
ifconfig "$ifname" >/dev/null 2>/dev/null && {
ifconfig "$ifname" 0.0.0.0 down
- config_get iftype "$type" type
+ config_get iftype "$cfg" type
[ "$iftype" = "bridge" ] && brctl delbr "$ifname"
}
include wifi
for device in $DEVICES; do (
- config_get type "$device" type
- eval "type setup_$type" 2>/dev/null >/dev/null && {
- eval "scan_$type '$device'"
- eval "setup_$type '$device'" && {
+ config_get iftype "$device" type
+ eval "type setup_$iftype" 2>/dev/null >/dev/null && {
+ eval "scan_$iftype '$device'"
+ eval "setup_$iftype '$device'" && {
# TODO: set up network settings
/bin/true
- } || echo "$device($type): Setup failed" || true
- } || echo "$device($type): Interface type not supported"
+ } || echo "$device($iftype): Setup failed" || true
+ } || echo "$device($iftype): Interface type not supported"
); done
scan_interfaces
cfg="$(find_config "$1")"
[ -z "$cfg" ] && return 0
- config_get type "$cfg" type
- [ "$type" = bridge ] && config_get "$type" bridge
+ config_get iftype "$cfg" type
+ [ "$iftype" = bridge ] && config_get "$iftype" bridge
)
}