base-files: change network_find_wan() procedure to ignore default gateways in differe...
[openwrt/openwrt.git] / package / base-files / files / lib / functions / network.sh
index 369fa3dbde1bfb968435f00a4bc953f9bf6a4a7b..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 ".."