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