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