mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2025-12-10 07:44:50 +01:00
disable network module simulate router.network object via rpcd script to support juci clients widget
54 lines
1.3 KiB
Bash
Executable file
54 lines
1.3 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
. /usr/share/libubox/jshn.sh
|
|
. /lib/functions/network.sh
|
|
. /lib/functions.sh
|
|
|
|
case "$1" in
|
|
list)
|
|
echo '{ "dump" : {}, "hosts" : {} }'
|
|
;;
|
|
call)
|
|
case "$2" in
|
|
dump)
|
|
dump_network() {
|
|
local cfg="$1"
|
|
local is_lan type bool proto ipaddr netmask ifname
|
|
|
|
[ "$cfg" == "loopback" ] && return
|
|
|
|
config_get_bool is_lan $cfg is_lan 0
|
|
config_get type $cfg type
|
|
config_get_bool defaultroute $cfg defaultroute 1
|
|
config_get proto $cfg proto none
|
|
config_get ipaddr $cfg ipaddr
|
|
[ -z "$ipaddr" ] && network_get_ipaddr ipaddr $cfg
|
|
config_get netmask $cfg netmask "255.255.255.255"
|
|
config_get ifname $cfg ifname
|
|
|
|
json_add_object "$cfg"
|
|
json_add_boolean is_lan $is_lan
|
|
json_add_string type "$type"
|
|
json_add_boolean defaultroute $defaultroute
|
|
json_add_string proto "$proto"
|
|
json_add_string ipaddr "$ipaddr"
|
|
json_add_string netmask "$netmask"
|
|
json_add_string ifname "$ifname"
|
|
json_select ..
|
|
}
|
|
|
|
config_load network
|
|
json_init
|
|
config_foreach dump_network interface
|
|
json_dump
|
|
;;
|
|
hosts)
|
|
ubus call topology hosts | \
|
|
sed 's/interface_type/type/g' | \
|
|
sed 's/Ethernet/ethernet/g' | \
|
|
sed 's/Wi-Fi/wifi/g'
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
|