base-files: change network_find_wan() procedure to ignore default gateways in differe...
[openwrt/staging/lynxis/omap.git] / package / base-files / files / lib / functions / network.sh
index ff153c6c91be2b3659bc302e264290e7a4bd0bf8..d86a504bf44c3f66392d5e2252e6fcadb293a687 100644 (file)
@@ -80,16 +80,20 @@ __network_parse_ifstatus()
                        while json_is_a "$__idx" object; do
 
                                json_select "$((__idx++))"
-                               json_get_var __tmp target
-
-                               case "${__tmp}" in
-                                       0.0.0.0)
-                                               __network_set_cache "${__key}_gateway4" nexthop
-                                       ;;
-                                       ::)
-                                               __network_set_cache "${__key}_gateway6" nexthop
-                                       ;;
-                               esac
+                               json_get_var __tmp table
+
+                               if [ -z "$__tmp" ]; then
+                                       json_get_var __tmp target
+
+                                       case "${__tmp}" in
+                                               0.0.0.0)
+                                                       __network_set_cache "${__key}_gateway4" nexthop
+                                               ;;
+                                               ::)
+                                                       __network_set_cache "${__key}_gateway6" nexthop
+                                               ;;
+                                       esac
+                               fi
 
                                json_select ".."
 
@@ -193,7 +197,7 @@ network_get_prefix6() {
 
        __network_parse_ifstatus "$__iface" || return 1
        __network_export __mask "${__iface}_prefix6_mask" || return 1
-       __network_export __var "${__iface}_prefix6_address" "/$__mask"
+       __network_export "$__var" "${__iface}_prefix6_address" "/$__mask"
        return $?
 }