diff options
Diffstat (limited to 'package/base-files-network/files/lib')
| -rwxr-xr-x | package/base-files-network/files/lib/network/config.sh | 44 | 
1 files changed, 25 insertions, 19 deletions
diff --git a/package/base-files-network/files/lib/network/config.sh b/package/base-files-network/files/lib/network/config.sh index 5e8b05909..8ba31a878 100755 --- a/package/base-files-network/files/lib/network/config.sh +++ b/package/base-files-network/files/lib/network/config.sh @@ -48,34 +48,40 @@ find_config() {  	return 1;  } -scan_interfaces() { -	local cfgfile="${1:-network}" -	interfaces= -	config_cb() { -		case "$1" in -			interface) -				config_set "$2" auto 1 -			;; -		esac +fixup_interface() {  		local iftype ifname device proto -		config_get iftype "$CONFIG_SECTION" TYPE +		local __cfg="$1" + +		config_get iftype "$__cfg" TYPE  		case "$iftype" in  			interface) -				append interfaces "$CONFIG_SECTION" -				config_get proto "$CONFIG_SECTION" proto -				config_get iftype "$CONFIG_SECTION" type -				config_get ifname "$CONFIG_SECTION" ifname -				config_get device "$CONFIG_SECTION" device "$ifname" -				config_set "$CONFIG_SECTION" device "$device" +				append interfaces "$__cfg" +				config_get proto "$__cfg" proto +				config_get iftype "$__cfg" type +				config_get ifname "$__cfg" ifname +				config_get device "$__cfg" device "$ifname" +				config_set "$__cfg" device "$device"  				case "$iftype" in  					bridge) -						config_set "$CONFIG_SECTION" ifnames "$device" -						config_set "$CONFIG_SECTION" ifname br-"$CONFIG_SECTION" +						config_set "$__cfg" ifnames "$device" +						config_set "$__cfg" ifname br-"$CONFIG_SECTION"  					;;  				esac -				( type "scan_$proto" ) >/dev/null 2>/dev/null && eval "scan_$proto '$CONFIG_SECTION'" +				( type "scan_$proto" ) >/dev/null 2>/dev/null && eval "scan_$proto '$__cfg'" +			;; +		esac +} + +scan_interfaces() { +	local cfgfile="${1:-network}" +	interfaces= +	config_cb() { +		case "$1" in +			interface) +				config_set "$2" auto 1  			;;  		esac +		fixup_interface "$CONFIG_SECTION"  	}  	config_load "${cfgfile}"  }  | 
