1 QoSify is simple daemon for setting up and managing CAKE along with a custom 2 eBPF based classifier that sets DSCP fields of packets. 3 4 It supports the following features: 5 - simple TCP/UDP port based mapping 6 - IP address based mapping 7 - priority boosting based on average packet size 8 - bulk flow detection based on number of packets per second 9 - dynamically add IP entries with timeout 10 - dns regex entries and ubus api for providing dns lookup results 11 12 It can be configured via ubus call qosify config. 13 14 This call supports the following parameters: 15 - "reset": BOOL 16 Reset the config to defaults instead of only updating supplied values 17 18 - "files": ARRAY of STRING 19 List of files with port/IP/host mappings 20 21 - "timeout": INT32 22 Default timeout for dynamically added entries 23 24 - "dscp_default_udp": STRING 25 Default DSCP value for UDP packets 26 27 - "dscp_default_tcp": STRING 28 Default DSCP value for TCP packets 29 30 - "dscp_prio": STRING 31 DSCP value for priority-marked packets 32 33 - "dscp_bulk": STRING 34 DSCP value for bulk-marked packets 35 36 - "dscp_icmp": STRING 37 DSCP value for ICMP packets 38 39 - "bulk_trigger_pps": INT32 40 Number of packets per second to trigger bulk flow detection 41 42 - "bulk_trigger_timeout": INT32 43 Time below bulk_trigger_pps threshold until a bulk flow mark is removed 44 45 - "prio_max_avg_pkt_len": INT32 46 Maximum average packet length for marking a flow as priority 47 48 - "interfaces": TABLE of TABLE 49 netifd interfaces to enable QoS on 50 51 - "devices": TABLE of TABLE 52 netdevs to enable QoS on 53 54 55 interface/device properties: 56 - "bandwidth_up": STRING 57 Uplink bandwidth (same format as tc) 58 59 - "bandwidth_down": STRING 60 Downlink bandwidth (same format as tc) 61 62 - "ingress": BOOL 63 Enable ingress shaping 64 65 - "egress": BOOL 66 Enable egress shaping 67 68 - "mode": STRING 69 CAKE diffserv mode 70 71 - "nat": BOOL 72 Enable CAKE NAT host detection via conntrack 73 74 - "host_isolate": BOOL 75 Enable CAKE host isolation 76 77 - "autorate_ingress": BOOL 78 Enable CAKE automatic rate estimation for ingress 79 80 - "ingress_options": STRING 81 CAKE ingress options 82 83 - "egress_options": STRING 84 CAKE egress options 85 86 - "options": STRING 87 CAKE options for ingress + egress 88 89 90 Mapping file syntax: 91 92 Each line has two whitespace separated fields, match and dscp 93 match is one of: 94 - tcp:<port>[-<endport>] 95 TCP single port, or range from <port> to <endport> 96 - udp:<port>[-<endport>] 97 UDP single port, or range from <port> to <endport> 98 - <ipaddr> 99 IPv4 address, e.g. 1.1.1.1 100 - <ipv6addr> 101 IPv6 address, e.g. ff01::1 102 - dns:<pattern> 103 fnmatch() pattern supporting * and ? as wildcard characters 104 - dns:/<regex> 105 POSIX.2 extended regular expression for matching hostnames 106 Only works, if dns lookups are passed to qosify via the add_dns_host ubus call. 107 - dns_c:... 108 Like dns:... but only matches cname entries 109 110 dscp can be a raw value, or a codepoint like CS0 111 Adding a + in front of the value tells qosify to only override the DSCP value if it is zero 112 DNS entries are compared in the order in which they are specified in the config, using the 113 first matching entry. 114 115 116 Planned features: 117 - Support for LAN host based priority
This page was automatically generated by LXR 0.3.1. • OpenWrt