Since the functions in procd.sh invoke "initscript" variable which is not defined when imported procd.sh from hotplug scripts. And this results in error when calling basename utility. Sun Jan 20 12:34:50 2019 daemon.debug dnsmasq-script[15340]: BusyBox v1.28.4 () multi-call binary. Sun Jan 20 12:34:50 2019 daemon.debug dnsmasq-script[15340]: Sun Jan 20 12:34:50 2019 daemon.debug dnsmasq-script[15340]: Usage: basename FILE [SUFFIX] Sun Jan 20 12:34:50 2019 daemon.debug dnsmasq-script[15340]: Sun Jan 20 12:34:50 2019 daemon.debug dnsmasq-script[15340]: Strip directory path and .SUFFIX from FILE Sun Jan 20 12:34:50 2019 user.notice nft-qos-monitor: ACTION=update, MACADDR=xxxxxx, IPADDR=192.168.11.109, HOSTNAME=Honor_Play Sun Jan 20 12:34:50 2019 daemon.info dnsmasq[15340]: 250 192.168.11.109/60566 reply www.google.com is 216.58.215.68 Sun Jan 20 12:34:50 2019 daemon.info dnsmasq[15340]: 251 192.168.11.109/43456 reply mtalk.google.com is <CNAME> Sun Jan 20 12:34:50 2019 daemon.info dnsmasq[15340]: 251 192.168.11.109/43456 reply mobile-gtalk.l.google.com is 173.194.222.188 Sun Jan 20 12:34:50 2019 daemon.debug dnsmasq-script[15340]: BusyBox v1.28.4 () multi-call binary. Sun Jan 20 12:34:50 2019 daemon.debug dnsmasq-script[15340]: Sun Jan 20 12:34:50 2019 daemon.debug dnsmasq-script[15340]: Usage: basename FILE [SUFFIX] Sun Jan 20 12:34:50 2019 daemon.debug dnsmasq-script[15340]: Sun Jan 20 12:34:50 2019 daemon.debug dnsmasq-script[15340]: Strip directory path and .SUFFIX from FILE Sun Jan 20 12:34:51 2019 daemon.debug dnsmasq-script[15340]: BusyBox v1.28.4 () multi-call binary. Sun Jan 20 12:34:51 2019 daemon.debug dnsmasq-script[15340]: Sun Jan 20 12:34:51 2019 daemon.debug dnsmasq-script[15340]: Usage: basename FILE [SUFFIX] Sun Jan 20 12:34:51 2019 daemon.debug dnsmasq-script[15340]: Sun Jan 20 12:34:51 2019 daemon.debug dnsmasq-script[15340]: Strip directory path and .SUFFIX from FILE Sun Jan 20 12:34:51 2019 user.notice nft-qos-dynamic: ACTION=update, MACADDR=xxxxxx, IPADDR=192.168.11.109, HOSTNAME=Honor_Play Signed-off-by: Rosy Song <rosysong@rosinson.com>
42 lines
794 B
Bash
42 lines
794 B
Bash
#!/bin/sh
|
|
#
|
|
# Copyright 2018 rosysong@rosinson.com
|
|
#
|
|
|
|
export initscript="nft-qos-dynamic"
|
|
|
|
. /lib/functions.sh
|
|
. /lib/nft-qos/core.sh
|
|
. /lib/nft-qos/dynamic.sh
|
|
|
|
NFT_QOS_DYNAMIC_ON=
|
|
|
|
qosdef_validate_section_dynamic() {
|
|
local limit_enable limit_type
|
|
|
|
uci_validate_section nft-qos default default \
|
|
'limit_enable:bool:0' \
|
|
'limit_type:maxlength(8)'
|
|
|
|
[ $limit_enable -eq 1 -a \
|
|
"$limit_type" = "dynamic" ] && \
|
|
NFT_QOS_DYNAMIC_ON="y"
|
|
}
|
|
|
|
|
|
logger -t nft-qos-dynamic "ACTION=$ACTION, MACADDR=$MACADDR, IPADDR=$IPADDR, HOSTNAME=$HOSTNAME"
|
|
|
|
case "$ACTION" in
|
|
add | update | remove)
|
|
qosdef_validate_section_dynamic
|
|
[ -z "$NFT_QOS_DYNAMIC_ON" ] && return
|
|
|
|
qosdef_init_env
|
|
qosdef_flush_dynamic
|
|
|
|
qosdef_init_header
|
|
qosdef_init_dynamic
|
|
qosdef_init_done
|
|
qosdef_start
|
|
;;
|
|
esac
|