2018-08-03 04:17:59 +00:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
|
|
|
# Copyright 2018 rosysong@rosinson.com
|
|
|
|
#
|
|
|
|
|
2019-01-31 12:34:17 +00:00
|
|
|
export initscript="nft-qos-dynamic"
|
|
|
|
|
2018-08-03 04:17:59 +00:00
|
|
|
. /lib/functions.sh
|
|
|
|
. /lib/nft-qos/core.sh
|
|
|
|
. /lib/nft-qos/dynamic.sh
|
|
|
|
|
|
|
|
NFT_QOS_DYNAMIC_ON=
|
|
|
|
|
2019-02-12 08:31:59 +00:00
|
|
|
qosdef_check_if_dynamic() {
|
2018-08-03 04:17:59 +00:00
|
|
|
[ $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)
|
2019-02-12 08:31:59 +00:00
|
|
|
qosdef_validate_dynamic default qosdef_check_if_dynamic
|
2018-08-03 04:17:59 +00:00
|
|
|
[ -z "$NFT_QOS_DYNAMIC_ON" ] && return
|
|
|
|
|
|
|
|
qosdef_init_env
|
|
|
|
qosdef_flush_dynamic
|
|
|
|
|
|
|
|
qosdef_init_header
|
2019-02-12 08:31:59 +00:00
|
|
|
qosdef_validate_dynamic default qosdef_init_dynamic
|
2018-08-03 04:17:59 +00:00
|
|
|
qosdef_init_done
|
|
|
|
qosdef_start
|
|
|
|
;;
|
|
|
|
esac
|