. /usr/share/libubox/jshn.sh
find_config() {
- return
+ local device="$1"
+ for ifobj in `ubus list network.interface.\*`; do
+ interface="${ifobj##network.interface.}"
+ (
+ json_load "$(ifstatus $interface)"
+ json_get_var ifdev device
+ if [[ "$device" = "$ifdev" ]]; then
+ echo "$interface"
+ exit 0
+ else
+ exit 1
+ fi
+ ) && return
+ done
}
unbridge() {
config_get type "$config" type
config_get ifname "$config" ifname
+ config_get device "$config" device "$ifname"
[ "bridge" = "$type" ] && ifname="br-$config"
config_set "$config" device "$ifname"
ubus_call "network.interface.$config" status
[ -n "$l3dev" ] && ifname="$l3dev"
json_init
config_set "$config" ifname "$ifname"
+ config_set "$config" device "$device"
}
scan_interfaces() {
ubus call network.interface."$config" add_device "{ \"name\": \"$iface\" }"
}
+do_sysctl() {
+ [ -n "$2" ] && \
+ sysctl -n -e -w "$1=$2" >/dev/null || \
+ sysctl -n -e "$1"
+}