rpcd: iwinfo plugin fixes
[openwrt/svn-archive/archive.git] / package / base-files / files / lib / functions / network.sh
index f4cf2b53447148f169179b6a1df3c9f971cddb67..1b0c717204d69ec0f89dd02282be6f279a673b6e 100644 (file)
@@ -81,7 +81,30 @@ network_get_ipaddrs6() {
        if __network_ifstatus "__addr" "$2" "['ipv6-address','ipv6-prefix-assignment'][*].address"; then
                for __addr in $__addr; do
                        case "$__addr" in
-                               *:)     __list="${__list:+$__list }${__addr}1" ;;
+                               *:) __list="${__list:+$__list }${__addr}1" ;;
+                               *)  __list="${__list:+$__list }${__addr}"  ;;
+                       esac
+               done
+
+               export "$1=$__list"
+               return 0
+       fi
+
+       unset "$1"
+       return 1
+}
+
+# determine all IP addresses of given logical interface
+# 1: destination variable
+# 2: interface
+network_get_ipaddrs_all() {
+       local __addr
+       local __list=""
+
+       if __network_ifstatus "__addr" "$2" "['ipv4-address','ipv6-address','ipv6-prefix-assignment'][*].address"; then
+               for __addr in $__addr; do
+                       case "$__addr" in
+                               *:) __list="${__list:+$__list }${__addr}1" ;;
                                *)  __list="${__list:+$__list }${__addr}"  ;;
                        esac
                done