X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=blobdiff_plain;f=package%2Fbase-files-network%2Ffiles%2Flib%2Fnetwork%2Fconfig.sh;fp=package%2Fbase-files-network%2Ffiles%2Flib%2Fnetwork%2Fconfig.sh;h=8ba31a8784906db8eaf10776145499c08b9f84af;hp=5e8b05909ccfb0d13178ec6c882b9a028095e52f;hb=f7ea3c6587d08136cd618db4486052a154b5d161;hpb=da18a0b25dcbd20cac38244cd95644f1dcfbfc6e diff --git a/package/base-files-network/files/lib/network/config.sh b/package/base-files-network/files/lib/network/config.sh index 5e8b05909c..8ba31a8784 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}" }