aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files/files/lib
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2014-08-11 18:17:09 +0000
committerJo-Philipp Wich <jow@openwrt.org>2014-08-11 18:17:09 +0000
commit58ed63723a6b94fae905dcddb501adb1191c712a (patch)
treea6519609e22a61d8c3294c63c115962ad461209a /package/base-files/files/lib
parent77989fe8ab8354477e8c366e9586c77d53964ac4 (diff)
downloadupstream-58ed63723a6b94fae905dcddb501adb1191c712a.tar.gz
upstream-58ed63723a6b94fae905dcddb501adb1191c712a.tar.bz2
upstream-58ed63723a6b94fae905dcddb501adb1191c712a.zip
BB: base-files: /lib/functions/network.sh: fix network_get_ipaddr6
When looking for the first ipaddr also consider the current prefix just like network_get_ipaddrs6 does. If ipv6-address was empty the function did not return the first ipaddr even if the list was non-empty. fixes commit 83e9122f88a002871d5cdf421cf6aa6052b7e006 Signed-off-by: Henning Schild <henning@hennsch.de> Backport of r42139 git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@42140 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files/files/lib')
-rw-r--r--package/base-files/files/lib/functions/network.sh13
1 files changed, 12 insertions, 1 deletions
diff --git a/package/base-files/files/lib/functions/network.sh b/package/base-files/files/lib/functions/network.sh
index 86ab8905f1..f4cf2b5344 100644
--- a/package/base-files/files/lib/functions/network.sh
+++ b/package/base-files/files/lib/functions/network.sh
@@ -29,7 +29,18 @@ network_get_ipaddr() {
# 1: destination variable
# 2: interface
network_get_ipaddr6() {
- __network_ifstatus "$1" "$2" "['ipv6-address'][0].address";
+ local __addr
+
+ if __network_ifstatus "__addr" "$2" "['ipv6-address','ipv6-prefix-assignment'][0].address"; then
+ case "$__addr" in
+ *:) export "$1=${__addr}1" ;;
+ *) export "$1=${__addr}" ;;
+ esac
+ return 0
+ fi
+
+ unset $1
+ return 1
}
# determine first IPv4 subnet of given logical interface