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