nft-qos: Update init script

This replaces the use of uci_validate_section() with
uci_load_validate(), which removes the need to declare local variables
for every config option.

This also adds a validate section to service_triggers(), and fixes some
variable name typos in qosdef_init_static().

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This commit is contained in:
Jeffery To
2019-02-12 16:31:59 +08:00
parent f9b16dea51
commit a0b51e9bd6
6 changed files with 44 additions and 40 deletions

View File

@@ -5,6 +5,14 @@
. /lib/nft-qos/core.sh
qosdef_validate_dynamic() {
uci_load_validate nft-qos default "$1" "$2" \
'limit_enable:bool:0' \
'limit_type:maxlength(8)' \
'dynamic_bw_up:uinteger:100' \
'dynamic_bw_down:uinteger:100'
}
# return average rate for dhcp leases
qosdef_dynamic_rate() { # <bandwidth>
local c=0 c6=0
@@ -55,16 +63,9 @@ qosdef_flush_dynamic() {
# init dynamic qos
qosdef_init_dynamic() {
local dynamic_bw_up dynamic_bw_down limit_enable limit_type
local hook_ul="prerouting" hook_dl="postrouting"
uci_validate_section nft-qos default default \
'limit_enable:bool:0' \
'limit_type:maxlength(8)' \
'dynamic_bw_up:uinteger:100' \
'dynamic_bw_down:uinteger:100'
[ $? -ne 0 ] && {
[ "$2" = 0 ] || {
logger -t nft-qos-dynamic "validation failed"
return 1
}