소스 검색

fix nonhotpluggable networks not being brought up. Closes #2781

SVN-Revision: 17527
Travis Kemen 16 년 전
부모
커밋
27915ac778

+ 15 - 0
package/base-files/files/etc/init.d/network

@@ -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() {

+ 1 - 0
package/base-files/files/lib/network/config.sh

@@ -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() {

+ 1 - 0
package/base-files/files/usr/share/udhcpc/default.script

@@ -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"