Files
wlan-ap/feeds/ucentral/udevstats/files/udevstats.init
John Crispin 6129f525d5 udevstats: add new package
This package uses eBPF to do traffic accounting ont he WAN port

Fixes: WIFI-12183
Signed-off-by: John Crispin <john@phrozen.org>
2023-01-27 12:18:37 +01:00

63 lines
1.0 KiB
Bash

#!/bin/sh /etc/rc.common
# Copyright (c) 2021 OpenWrt.org
START=18
USE_PROCD=1
PROG=/usr/sbin/udevstats
add_vlan() {
local vid="$1"
json_add_array
json_add_int "" "$vid"
[ "$rx" -gt 0 ] && json_add_string "" "rx"
[ "$tx" -gt 0 ] && json_add_string "" "tx"
json_close_array
}
add_device() {
local cfg="$1"
config_get_bool disabled "$cfg" disabled 0
[ "$disabled" -gt 0 ] && return
config_get name "$cfg" name
json_add_array "$name"
config_get_bool rx "$cfg" rx 1
config_get_bool tx "$cfg" tx 1
config_list_foreach "$cfg" vlan add_vlan
json_close_array
}
reload_service() {
json_init
config_load udevstats
json_add_object devices
config_foreach add_device device
json_close_object
ubus call udevstats config_set "$(json_dump)"
}
service_triggers() {
procd_add_reload_trigger udevstats
}
start_service() {
procd_open_instance
procd_set_param command "$PROG"
procd_set_param respawn
procd_close_instance
}
service_started() {
ubus -t 10 wait_for udevstats
[ $? = 0 ] && reload_service
}