diff options
author | Felix Fietkau <nbd@openwrt.org> | 2011-10-21 01:47:49 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2011-10-21 01:47:49 +0000 |
commit | 55aeabae10d9429de0453d6df4271426478b406b (patch) | |
tree | cb77e67888dff2800c29051dfe2673e40c56d2eb /package/netifd/files/lib/network/config.sh | |
parent | 2ccd191b76f600d99d4b8ee15bb8fd1d0f2cf616 (diff) | |
download | mtk-20170518-55aeabae10d9429de0453d6df4271426478b406b.zip mtk-20170518-55aeabae10d9429de0453d6df4271426478b406b.tar.gz mtk-20170518-55aeabae10d9429de0453d6df4271426478b406b.tar.bz2 |
add an initial (experimental) version of netifd, disabled by default
SVN-Revision: 28499
Diffstat (limited to 'package/netifd/files/lib/network/config.sh')
-rwxr-xr-x | package/netifd/files/lib/network/config.sh | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/package/netifd/files/lib/network/config.sh b/package/netifd/files/lib/network/config.sh new file mode 100755 index 0000000..778c964 --- /dev/null +++ b/package/netifd/files/lib/network/config.sh @@ -0,0 +1,50 @@ +#!/bin/sh +# Copyright (C) 2011 OpenWrt.org + +. /usr/share/libubox/jshn.sh + +find_config() { + return +} + +unbridge() { + return +} + +ubus_call() { + json_init + local _data="$(ubus call "$1" "$2")" + [ $? -ne 0 ] && return "$?" + json_load "$_data" + return 0 +} + + +fixup_interface() { + local config="$1" + local ifname + + config_get type "$config" type + config_get ifname "$config" ifname + [ "bridge" = "$type" ] && ifname="br-$config" + config_set "$config" device "$ifname" + ubus_call "network.interface.$config" status + json_get_var l3dev l3_device + [ -n "$l3dev" ] && ifname="$l3dev" + json_init + config_set "$config" ifname "$ifname" +} + +scan_interfaces() { + config_load network + config_foreach fixup_interface interface +} + +setup_interface() { + local iface="$1" + local config="$2" + + [ -n "$config" ] || return 0 + ubus call network.interface."$config" add_device "{ \"name\": \"$iface\" }" +} + |