Переглянути джерело

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 роки тому
батько
коміт
f017f617ae

+ 1 - 1
package/base-files/Makefile

@@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk
 include $(INCLUDE_DIR)/feeds.mk
 include $(INCLUDE_DIR)/feeds.mk
 
 
 PKG_NAME:=base-files
 PKG_NAME:=base-files
-PKG_RELEASE:=216
+PKG_RELEASE:=217
 PKG_FLAGS:=nonshared
 PKG_FLAGS:=nonshared
 
 
 PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
 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
 	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
 	if json_is_a roles array; then
 		json_get_keys roles roles
 		json_get_keys roles roles
 		json_select roles
 		json_select roles
@@ -43,19 +48,15 @@ preinit_config_switch() {
 			json_select ..
 			json_select ..
 
 
 			if [ "$device" = "$lan_if" ]; then
 			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 vlan $role set ports "$ports"
-				swconfig dev $name set apply
 			fi
 			fi
 		done
 		done
 
 
 		json_select ..
 		json_select ..
 	fi
 	fi
 
 
+	swconfig dev $name set apply
+
 	json_select ..
 	json_select ..
 	json_select ..
 	json_select ..
 }
 }