bpf: fix bulk flow detaction
Take number of GSO segments into account
Signed-off-by: Felix Fietkau <[email protected]>
map, bpf: create a separate map for configured dscp classes
Include separate configuration for dynamic priority/bulk flow detection
Signed-off-by: Felix Fietkau <[email protected]>
bpf: move flow prio/bulk detection config into a separate data structure
Signed-off-by: Felix Fietkau <[email protected]>
bpf: refactor code to support explicit opt-in for bulk+prio detection
Significantly reduces compiled BPF code size by reducing inlining duplication
Signed-off-by: Felix Fietkau <[email protected]>
ubus: drop dnsmasq check for dns_result method
Preparation for switching dnsmasq to reporting cache entries
Signed-off-by: Felix Fietkau <[email protected]>
map: add support for defining aliases
Aliases can be used to make a distinction between ingress and egress tags,
and they make it easier to reconfigure tags without having to update the rule
config files
Signed-off-by: Felix Fietkau <[email protected]>
bpf: add initial support for splitting map dscp value into ingress and egress
This will be used for supporting different tags on the LAN side and the WAN side.
Signed-off-by: Felix Fietkau <[email protected]>
README: dnsmasq integration is complete
Signed-off-by: Felix Fietkau <[email protected]>
qosify: support wildcards in classifier filenames
This makes it easier to support having a directory with extra installable files
without having to update the configuration
Signed-off-by: Felix Fietkau <[email protected]>
ubus: fix crash caused by missing static keyword
Signed-off-by: Felix Fietkau <[email protected]>
map: default to fnmatch matching for dns patterns. support regex via leading /
Simplifies writing DNS matching rules
Signed-off-by: Felix Fietkau <[email protected]>
ubus: subscribe to dnsmasq.dns for dns lookup results
Signed-off-by: Felix Fietkau <[email protected]>
qosify-bpf: inline check_flow() to ensure that it is jited
Signed-off-by: Felix Fietkau <[email protected]>
map: increase active timeout to 300
Matches a typical maximum HTTP keepalive timeout
Signed-off-by: Felix Fietkau <[email protected]>
map: improve timeout handling of IP entries
Instead of expiring them at TTL, introduce an active timeout (default 60)
Whenever an IP entry expires, timeout gets reset to the active timeout
value. If during that time, a packet was seen matching the IP entry, the
timeout is automatically extended.
Signed-off-by: Felix Fietkau <[email protected]>
loader: always reinitialize programs
Improves reliability of upgrading the package
Signed-off-by: Felix Fietkau <[email protected]>
interface: enable NAT on interfaces by default
Signed-off-by: Felix Fietkau <[email protected]>
map: introduce low effort codepoint from RFC8622
Signed-off-by: Felix Fietkau <[email protected]>
README: document mapping file syntax
Signed-off-by: Felix Fietkau <[email protected]>
README: mention dns regex entries
Signed-off-by: Felix Fietkau <[email protected]>
ubus: add support for dynamically adding dns based rules
Signed-off-by: Felix Fietkau <[email protected]>
ubus: add api for providing dns lookup results for dns regex rules
Signed-off-by: Felix Fietkau <[email protected]>
map: add support for adding dns regex patterns
This will be used for hostname based dscp mark rules
Signed-off-by: Felix Fietkau <[email protected]>
map: make a helper function for freeing entries
Signed-off-by: Felix Fietkau <[email protected]>