network config: ignore nonexistant interfaces
[openwrt/svn-archive/archive.git] / package / base-files / files / lib / network / config.sh
index 8a596874d4c4913d1668cf87e18020aea649fb91..eee72c0cdee9822ac7a0d3f179b0263d3396361d 100755 (executable)
@@ -24,6 +24,7 @@ find_config() {
 }
 
 scan_interfaces() {
+       local cfgfile="$1"
        local mode iftype iface ifname device
        interfaces=
        config_cb() {
@@ -50,7 +51,7 @@ scan_interfaces() {
                        ;;
                esac
        }
-       config_load network
+       config_load "${cfgfile:-network}"
 }
 
 add_vlan() {
@@ -83,6 +84,7 @@ prepare_interface() {
 
        # Setup VLAN interfaces
        add_vlan "$iface"
+       ifconfig "$iface" 2>/dev/null >/dev/null || return 0
 
        # Setup bridging
        config_get iftype "$config" type