diff --git a/package/base-files/files/lib/functions/network.sh b/package/base-files/files/lib/functions/network.sh index 1b42133ba2..159da09a0d 100644 --- a/package/base-files/files/lib/functions/network.sh +++ b/package/base-files/files/lib/functions/network.sh @@ -39,3 +39,18 @@ network_get_ipaddr6() { __network_ipaddr "$1" "$2" 6 0; } network_get_subnet() { __network_ipaddr "$1" "$2" 4 1; } network_get_subnet6() { __network_ipaddr "$1" "$2" 6 1; } + + +network_get_device() +{ + local __var="$1" + local __iface="$2" + + 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 +}