summaryrefslogtreecommitdiffstats
path: root/package/base-files
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-05-29 00:20:16 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-05-29 00:20:16 +0000
commit29377555bf74dc436af8fd9276acb61f0958bdbd (patch)
tree82f66f3330ab2028cd1a3eef2e5e3812f74fb187 /package/base-files
parent8c1c75ba17b6e4337039dd5cf85f6e8f4fe51268 (diff)
[package] base-files: let network_get_device() return the l3 interface, introduce network_get_physdev() to obtain the underlying iface (if applicable)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31960 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files')
-rw-r--r--package/base-files/files/lib/functions/network.sh10
1 files 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 159da09a0..e038c94e1 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; }