• source navigation  • diff markup  • identifier search  • freetext search  • 

Sources/qosify/README

  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