fix nonhotpluggable networks not being brought up. Closes #2781
authorTravis Kemen <thepeople@openwrt.org>
Sun, 6 Sep 2009 17:02:14 +0000 (17:02 +0000)
committerTravis Kemen <thepeople@openwrt.org>
Sun, 6 Sep 2009 17:02:14 +0000 (17:02 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17527 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/base-files/files/etc/init.d/network
package/base-files/files/lib/network/config.sh
package/base-files/files/usr/share/udhcpc/default.script

index e77db02..75103ec 100755 (executable)
@@ -4,7 +4,18 @@
 START=40
 STOP=40
 
+config_cb() {
+       local cfg_type="$1"
+
+       case "$cfg_type" in
+               interface)
+                       append networks "$2" "$N"
+               ;;
+       esac
+}
+
 boot() {
+       uci_load network
        setup_switch() { return 0; }
 
        include /lib/network
@@ -12,6 +23,10 @@ boot() {
        [ -s /etc/config/wireless ] || \
                /sbin/wifi detect > /etc/config/wireless
        /sbin/wifi up
+       for network in $networks; do
+               config_get startupcheck $network started
+               [ "$startupcheck" = "" ] && ifup $network
+       done
 }
 
 start() {
index bfadf40..12a3378 100755 (executable)
@@ -153,6 +153,7 @@ set_interface_ifname() {
        config_get device "$1" device
        uci_set_state network "$config" ifname "$ifname"
        uci_set_state network "$config" device "$device"
+       uci_set_state network "$config" started 1
 }
 
 setup_interface_none() {
index b32b2c9..ea0a28b 100755 (executable)
@@ -203,6 +203,7 @@ for ifc in $interfaces __default; do
                                config_get ifname "$ifc" ifname
                                config_get aliases "$ifc" aliases
                                uci_revert_state network "$ifc"
+                               uci_set_state network "$ifc" started 1
                                [ -n "$device" ] && uci_set_state network "$ifc" device "$device"
                                [ -n "$ifname" ] && uci_set_state network "$ifc" ifname "$ifname"
                                [ -n "$aliases" ] && uci_set_state network "$ifc" aliases "$aliases"