Browse Source

base-files: change network_find_wan() procedure to ignore default gateways in different routing tables

SVN-Revision: 36553
Jo-Philipp Wich 12 years ago
parent
commit
026271d03c
2 changed files with 15 additions and 11 deletions
  1. 1 1
      package/base-files/Makefile
  2. 14 10
      package/base-files/files/lib/functions/network.sh

+ 1 - 1
package/base-files/Makefile

@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
 include $(INCLUDE_DIR)/version.mk
 
 PKG_NAME:=base-files
-PKG_RELEASE:=137
+PKG_RELEASE:=138
 
 PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
 PKG_BUILD_DEPENDS:=opkg/host

+ 14 - 10
package/base-files/files/lib/functions/network.sh

@@ -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 ".."