nft-qos: add new package

This is the nftables implementation for qos on OpenWrt,
Currently, it has below features:

* Static QoS : setting limit rate for devices or global network.

* Dynamic/Auto QoS : setting limit rate according to the network
  bandwidth and adjust itself automatically (hotplug event).

* Traffic Priority : this feature is like traffic shaping under tc,
  it uses ingress hook to handle to packets here.

Signed-off-by: Rosy Song <rosysong@rosinson.com>
This commit is contained in:
Rosy Song
2018-08-03 12:17:59 +08:00
parent 9753c21d5c
commit 6649ac91e9
10 changed files with 642 additions and 0 deletions
+13
View File
@@ -0,0 +1,13 @@
#!/bin/sh
#
# Copyright 2018 rosysong@rosinson.com
#
. /lib/nft-qos/monitor.sh
logger -t nft-qos-monitor "ACTION=$ACTION, MACADDR=$MACADDR, IPADDR=$IPADDR, HOSTNAME=$HOSTNAME"
case "$ACTION" in
add | update) qosdef_init_env && qosdef_monitor_add $MACADDR $IPADDR $HOSTNAME;;
remove) qosdef_init_env && qosdef_monitor_del $MACADDR $IPADDR $HOSTNAME;;
esac