From: Jo-Philipp Wich Date: Wed, 2 Jun 2010 17:18:38 +0000 (+0000) Subject: base-files: remove IPv6 LL addr from interfaces before adding them to a bridge X-Git-Tag: reboot~19740 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=fa244a12659a05cd1668059381d3fd67c01988aa;p=oweals%2Fopenwrt.git base-files: remove IPv6 LL addr from interfaces before adding them to a bridge SVN-Revision: 21659 --- diff --git a/package/base-files/files/lib/network/config.sh b/package/base-files/files/lib/network/config.sh index 2ca04faeb9..1736f8e7cc 100755 --- a/package/base-files/files/lib/network/config.sh +++ b/package/base-files/files/lib/network/config.sh @@ -164,6 +164,15 @@ prepare_interface() { local macaddr config_get macaddr "$config" macaddr [ -x /usr/sbin/brctl ] && { + # Remove IPv6 link local addr before adding the iface to the bridge + local llv6="$(ifconfig "$iface")" + case "$llv6" in + *fe80:*/64*) + llv6="${llv6#* fe80:}" + ifconfig "$iface" del "fe80:${llv6%% *}" + ;; + esac + ifconfig "br-$config" 2>/dev/null >/dev/null && { local newdevs devices config_get devices "$config" device