Просмотр исходного кода

base-files: preinit: also config switch when no port roles defined

current preinit code in base-files doesn't config switch when there are
no port roles defined. But this kind of configuration exists on single
port devices where switch vlan is simply disabled.
configure reset and enable_vlan property when a switch node exist.

Signed-off-by: Chuanhong Guo <[email protected]>
Chuanhong Guo 5 лет назад
Родитель
Сommit
f017f617ae

+ 1 - 1
package/base-files/Makefile

@@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk
 include $(INCLUDE_DIR)/feeds.mk
 
 PKG_NAME:=base-files
-PKG_RELEASE:=216
+PKG_RELEASE:=217
 PKG_FLAGS:=nonshared
 
 PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/

+ 7 - 6
package/base-files/files/lib/preinit/10_indicate_preinit

@@ -33,6 +33,11 @@ preinit_config_switch() {
 
 	json_get_vars enable reset
 
+	if [ "$reset" -eq "1" ]; then
+		swconfig dev $name set reset
+	fi
+	swconfig dev $name set enable_vlan $enable
+
 	if json_is_a roles array; then
 		json_get_keys roles roles
 		json_select roles
@@ -43,19 +48,15 @@ preinit_config_switch() {
 			json_select ..
 
 			if [ "$device" = "$lan_if" ]; then
-				if [ "$reset" -eq "1" ]; then
-					swconfig dev $name set reset
-				fi
-
-				swconfig dev $name set enable_vlan $enable
 				swconfig dev $name vlan $role set ports "$ports"
-				swconfig dev $name set apply
 			fi
 		done
 
 		json_select ..
 	fi
 
+	swconfig dev $name set apply
+
 	json_select ..
 	json_select ..
 }