Commit graph

5 commits

Author SHA1 Message Date
Imran Khan
6d095c479a nft-qos: fix include on image build service enable
Fixes: f88485f572 ("nft-qos: silence buildsystem errors")

Prefixing IPKG_INSTROOT to sourced includes is ineffective for this
package.

Source includes only when empty to avoid image make errors.

Signed-off-by: Imran Khan <gururug@gmail.com>
2021-12-17 14:07:47 -08:00
Imran Khan
f88485f572 nft-qos: silence buildsystem errors
add IPKG_INSTROOT to init script to
silence build system errors

Signed-off-by: Imran Khan <gururug@gmail.com>
2020-12-23 02:21:09 +11:00
Tong Zhang
0483b8dc88 nft-qos: support mac address based speed limit
This patch makes it possible to configure and limit per-client internet
speed based on MAC address and it can work with SQM.
This feature is what OpenWRT currently lacks. This patch is largely based
on static.sh and the configuration file is similar to original nft-qos.

New configuration options and examples are listed below

config default 'default'
    option limit_mac_enable '1'
config client
	option drunit 'kbytes'
	option urunit 'kbytes'
	option hostname 'tv-box'
	option macaddr 'AB:CD:EF:01:23:45'
	option drate '1000'
	option urate '50'
config client
	option drunit 'kbytes'
	option urunit 'kbytes'
	option hostname 'my-pc'
	option macaddr 'AB:CD:EF:01:23:46'
	option drate '3000'
	option urate '2000'

limit_mac_enable - enable rate limit based on MAC address
drunit - download rate unit
urunit - upload rate unit
macaddr - client MAC address
drate - download rate
urate - upload rate

Signed-off-by: Tong Zhang <ztong0001@gmail.com>
2020-08-19 09:39:57 -04:00
Jeffery To
a0b51e9bd6 nft-qos: Update init script
This replaces the use of uci_validate_section() with
uci_load_validate(), which removes the need to declare local variables
for every config option.

This also adds a validate section to service_triggers(), and fixes some
variable name typos in qosdef_init_static().

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2019-02-12 16:31:59 +08:00
Rosy Song
6649ac91e9 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>
2018-11-06 16:13:28 +08:00