rewrite of the network scripts and configuration
[openwrt-10.03/.git] / package / base-files / default / sbin / ifup
index 390f96039502382887fc73453e4af5f4b5728f5d..c40de38ad8f13a947f29b4f0a2b258db5feccd71 100755 (executable)
@@ -1,38 +1,18 @@
 #!/bin/sh
 # Copyright (C) 2006 OpenWrt.org
 
-[ $# = 0 ] && { echo "  $0 <group>"; exit; }
-. /etc/functions.sh
-. /etc/config/network
+. /sbin/ifdown "$@"
 
-ifdown $1
-
-debug "### ifup $type ###"
-type=$1
-
-eval "if_proto=\"\${${type}_proto}\""
-eval "if=\"\${${type}_ifname}\""
-[ "${if%%[0-9]}" = "ppp" ] && eval "if=\"\${${type}_device}\""
-
-case "$if_proto" in
-       pppoa) hotplug_dev register atm0; exit 0 ;;
-       pppoe)
-               # PPPoE over ATM
-               [ "$if" = "nas0" ] && {
-                       ifconfig nas0 2>&- >&- || {
-                               hotplug_dev register atm0
-                               exit 0
-                       }
-               }
+config_get iftype "$1" type
+case "$iftype" in
+       bridge)
+               config_get ifname "$1" ifnames
+       ;;
+       *)
+               config_get ifname "$1" ifname
        ;;
-       none|"") exit 0;;
 esac
 
-if [ "${if%%[0-9]}" = "br" ]; then
-       eval "ifnames=\"\${${type}_ifnames}\""
-       for sif in $ifnames; do
-               hotplug_dev register "$sif"
-       done
-else
-       hotplug_dev register "$if"
-fi
+for dev in $ifname; do
+       setup_interface "$dev" "$1"
+done