- #!/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
|