From bf52cbf108e67edb3b479e8c14414eeea6db9195 Mon Sep 17 00:00:00 2001
From: Jo-Philipp Wich <jow@openwrt.org>
Date: Tue, 29 May 2012 00:20:16 +0000
Subject: [PATCH] base-files: let network_get_device() return the l3 interface,
 introduce network_get_physdev() to obtain the underlying iface (if
 applicable)

SVN-Revision: 31960
---
 package/base-files/files/lib/functions/network.sh | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/package/base-files/files/lib/functions/network.sh b/package/base-files/files/lib/functions/network.sh
index 159da09a0d..e038c94e1c 100644
--- a/package/base-files/files/lib/functions/network.sh
+++ b/package/base-files/files/lib/functions/network.sh
@@ -41,16 +41,18 @@ network_get_subnet()  { __network_ipaddr "$1" "$2" 4 1; }
 network_get_subnet6() { __network_ipaddr "$1" "$2" 6 1; }
 
 
-network_get_device()
+__network_device()
 {
 	local __var="$1"
 	local __iface="$2"
+	local __field="$3"
 
 	local __tmp="$(ubus call network.interface."$__iface" status 2>/dev/null)"
 	[ -n "$__tmp" ] || return 1
 
 	json_load "$__tmp"
-	json_get_var "$__var" device
-
-	return 0
+	json_get_var "$__var" "$__field"
 }
+
+network_get_device()  { __network_device "$1" "$2" l3_device; }
+network_get_physdev() { __network_device "$1" "$2" device;    }
-- 
GitLab