config_get_bool stp "$config" stp 0
$DEBUG brctl addbr "br-$config"
$DEBUG brctl setfd "br-$config" 0
- $DEBUG ifconfig "br-$config" up
$DEBUG ifconfig "$iface" 0.0.0.0
$DEBUG do_sysctl "net.ipv6.conf.$iface.disable_ipv6" 1
$DEBUG brctl addif "br-$config" "$iface"
$DEBUG brctl stp "br-$config" $stp
+ [ -z "$macaddr" ] && macaddr="$(cat /sys/class/net/$iface/address)"
+ $DEBUG ifconfig "br-$config" hw ether $macaddr up
# Creating the bridge here will have triggered a hotplug event, which will
# result in another setup_interface() call, so we simply stop processing
# the current event at this point.
config_get bcast "$config" broadcast
config_get metric "$config" metric
+ case "$ip6addr" in
+ */*) ;;
+ *:*) ip6addr="$ip6addr/64" ;;
+ esac
+
[ -z "$ipaddr" ] || $DEBUG ifconfig "$iface" "$ipaddr" netmask "$netmask" broadcast "${bcast:-+}"
[ -z "$ip6addr" ] || $DEBUG ifconfig "$iface" add "$ip6addr"
[ -z "$gateway" ] || $DEBUG route add default gw "$gateway" ${metric:+metric $metric} dev "$iface"
}
# Interface settings
- grep "$iface:" /proc/net/dev > /dev/null && {
+ grep -qE "^ *$iface:" /proc/net/dev && {
local mtu macaddr txqueuelen
config_get mtu "$config" mtu
config_get macaddr "$config" macaddr
for brdev in $(brctl show | awk '$2 ~ /^[0-9].*\./ { print $1 }'); do
brctl delif "$brdev" "$dev" 2>/dev/null >/dev/null
- do_sysctl net.ipv6.conf.$dev.disable_ipv6 0
- [ "${dev##wlan}" != "$dev" ] && \
- do_sysctl net.ipv6.conf.mon.$dev.disable_ipv6 0
+ do_sysctl "net.ipv6.conf.$dev.disable_ipv6" 0
done
}
}