aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files/files/lib
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-06-02 17:18:38 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-06-02 17:18:38 +0000
commit63e440cd63446210d00b18b547f583bbe81f1548 (patch)
tree7ad89cbb4f3df41898d4f5f29e0b392a8e6da607 /package/base-files/files/lib
parentf8ad944e2078e6ce5d09d72a08bde61ee8d87086 (diff)
downloadupstream-63e440cd63446210d00b18b547f583bbe81f1548.tar.gz
upstream-63e440cd63446210d00b18b547f583bbe81f1548.tar.bz2
upstream-63e440cd63446210d00b18b547f583bbe81f1548.zip
[package] base-files: remove IPv6 LL addr from interfaces before adding them to a bridge
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21659 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files/files/lib')
-rwxr-xr-xpackage/base-files/files/lib/network/config.sh9
1 files changed, 9 insertions, 0 deletions
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