QoSify is simple daemon for setting up and managing CAKE along with a custom
eBPF based classifier that sets DSCP fields of packets.

It supports the following features:
- simple TCP/UDP port based mapping
- IP address based mapping
- priority boosting based on average packet size
- bulk flow detection based on number of packets per second
- dynamically add IP entries with timeout

It con be configured via ubus call qosify config.

This call supports the following parameters:
- "reset": BOOL
	Reset the config to defaults instead of only updating supplied values

- "files": ARRAY of STRING
	List of files with port/IP mappings

- "timeout": INT32
	Default timeout for dynamically added entries

- "dscp_default_udp": STRING
	Default DSCP value for UDP packets

- "dscp_default_tcp": STRING
	Default DSCP value for TCP packets

- "dscp_prio": STRING
	DSCP value for priority-marked packets

- "dscp_bulk": STRING
	DSCP value for bulk-marked packets

- "dscp_icmp": STRING
	DSCP value for ICMP packets

- "bulk_trigger_pps": INT32
	Number of packets per second to trigger bulk flow detection

- "bulk_trigger_timeout": INT32
	Time below bulk_trigger_pps threshold until a bulk flow mark is removed

- "prio_max_avg_pkt_len": INT32
	Maximum average packet length for marking a flow as priority

- "interfaces": TABLE of TABLE
	netifd interfaces to enable QoS on

- "devices": TABLE of TABLE
	netdevs to enable QoS on


interface/device properties:
- "bandwidth_up": STRING
	Uplink bandwidth (same format as tc)

- "bandwidth_down": STRING
	Downlink bandwidth (same format as tc)

- "ingress": BOOL
	Enable ingress shaping

- "egress": BOOL
	Enable egress shaping

- "mode": STRING
	CAKE diffserv mode

- "nat": BOOL
	Enable CAKE NAT host detection via conntrack

- "host_isolate": BOOL
	Enable CAKE host isolation

- "autorate_ingress": BOOL
	Enable CAKE automatic rate estimation for ingress

- "ingress_options": STRING
	CAKE ingress options

- "egress_options": STRING
	CAKE egress options

- "options": STRING
	CAKE options for ingress + egress


Planned features:
- Integration with dnsmasq to support hostname pattern based DSCP marking
- Support for LAN host based priority
