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)
SVN-Revision: 17527

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 e77db02517decf8345699140cad726cc0169dfcc..75103ec073d9d2ad9b59ca0b197c332f00731284 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 bfadf40c89e8577ab16f488e15c647b6c5dec926..12a3378b8c3ca94c59b317aa9d8e64a0f075f4f5 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 b32b2c9f256e5c941f2fe0e5fd0f98399ded6dad..ea0a28b3aecf2e9aefda4bafbbff96a96e7bd78c 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"