}
scan_interfaces() {
+ local cfgfile="$1"
local mode iftype iface ifname device
interfaces=
config_cb() {
;;
esac
}
- config_load network
+ config_load "${cfgfile:-network}"
}
add_vlan() {
# to create any interfaces here. The scripts have already done that, otherwise
# the bridge interface wouldn't exist.
[ "$iface" = "br-$config" ] && return 0;
+
+ [ -f "$iface" ] && return 0;
ifconfig "$iface" 2>/dev/null >/dev/null && {
# make sure the interface is removed from any existing bridge and brought down
# Setup VLAN interfaces
add_vlan "$iface"
+ ifconfig "$iface" 2>/dev/null >/dev/null || return 0
# Setup bridging
config_get iftype "$config" type
config_get bcast "$config" broadcast
[ -z "$ipaddr" ] || $DEBUG ifconfig "$iface" "$ipaddr" netmask "$netmask"
- [ -z "$ip6addr" ] || $DEBUG ifconfig "$iface" inet6 add "$ip6addr"
+ [ -z "$ip6addr" ] || $DEBUG ifconfig "$iface" add "$ip6addr"
[ -z "$gateway" ] || $DEBUG route add default gw "$gateway"
[ -z "$bcast" ] || $DEBUG ifconfig "$iface" broadcast "$bcast"
[ -z "$dns" -o -f /tmp/resolv.conf.auto ] || {