jeverley/dscpclassify
An nftables based service for applying DSCP classification to connections.
7 Releases
Latest: 2mo ago
v2.0.2Latest
📋 What's Changed
- Fix for qdisc script compatibility with older OpenWrt versions, thanks @Sam-arch99 for reporting in https://github.com/jeverley/dscpclassify/issues/44
- Full Changelog: https://github.com/jeverley/dscpclassify/compare/v2.0.1...v2.0.2
v2.0.1
📋 What's Changed
- Adding support for cake_mq qdisc introduced in OpenWrt 25.12 by @amteza in https://github.com/jeverley/dscpclassify/pull/43
- Handle named sections in migrate_config -> rename_section_type by @Fail-Safe in https://github.com/jeverley/dscpclassify/pull/42
✨ New Contributors
- @amteza made their first contribution in https://github.com/jeverley/dscpclassify/pull/43
- Full Changelog: https://github.com/jeverley/dscpclassify/compare/v2.0.0...v2.0.1
v2.0.0
📦 Configuration
- Created separate configuration sections for the automatic classification methods:
- ✨ Client class adoption in [`client_class_adoption`](https://github.com/jeverley/dscpclassify/tree/v2.0?tab=readme-ov-file#section-client_class_adoption)
- 🌎 Bulk client detection for P2P traffic in [`bulk_client_detection`](https://github.com/jeverley/dscpclassify/tree/v2.0?tab=readme-ov-file#section-bulk_client_detection)
- 🚛 High Throughput service detection for Steam downloads, cloud storage etc. in [`high_throughput_service_detection`](https://github.com/jeverley/dscpclassify/tree/v2.0?tab=readme-ov-file#section-high_throughput_service_detection)
- Service level settings are now managed in [`service`](https://github.com/jeverley/dscpclassify/tree/v2.0?tab=readme-ov-file#section-service)
- Old config files are automatically migrated to the new file structure
- A `loadfile` can be specified for sets (similar to fw4) to allow external definition of set entries - thanks @Fail-Safe
- https://github.com/jeverley/dscpclassify/pull/37
- + 2 more
📝 Documentation
- The documentation has been overhauled to make functionality easier to understand
- Added config table for `rules` [section](https://github.com/jeverley/dscpclassify/blob/v2.0/README.md#section-rule)
- Added config table for `set` [section](https://github.com/jeverley/dscpclassify/blob/v2.0/README.md#section-set)
- Added service uninstall instructions
📦 Miscellaneous
- All addresses within rules, sets and loadfiles are checked for validity
- The service will attempt to detect the set type if `family` is not specified
- The service guards against mixed address types in set config (i.e. reject a mac or ipv4 address in an ipv6 family set)
✨ Rule additions/improvements
- Zoom Meeting addresses and ports - thanks @Fail-Safe
- https://github.com/jeverley/dscpclassify/pull/38
- Zoom Phone addresses and ports
- Refactored rules to take advantage of the mixed family support
v1.1.4
📋 What's Changed
- Ensure client class hints that occur after the first packet are applied by @jeverley in https://github.com/jeverley/dscpclassify/pull/35
- The dynamic bit is now preserved when a dynamic class is applied (threaded client/services)
- This can be useful to understand why a connection has a certain class (i.e. checking the bits set in the conntrack mark)
- Users now have the ability to disable the threaded client/service dynamic connection classification modes.
- New global config option `dynamic_classify` (bool)
- Full Changelog: https://github.com/jeverley/dscpclassify/compare/v1.1.3...v1.1.4
v1.1.3
📋 What's changed
- Correct bitwise operation used in DSCP marking verdict, thanks @ldir-EDB0 (https://github.com/jeverley/dscpclassify/commit/56029adc111865c9e6a2c9a8c9092f20ec78f20d#r153179112)
- General improvements by @jeverley in https://github.com/jeverley/dscpclassify/pull/32
- Update WMM map annotations and LE to AC category mapping by @jeverley in https://github.com/jeverley/dscpclassify/pull/33
- Full Changelog: https://github.com/jeverley/dscpclassify/compare/v1.1.2...v1.0.0
v1.1.0 - OpenWrt 24.10 supportv1.1.0
📋 What's Changed
- OpenWrt 24.10 fixes
- The service now explicitly destroys meter sets used for the threaded client/server detection as these were causing failures during reload (https://github.com/jeverley/dscpclassify/issues/27) _Thank you @Sam-arch99 for helping troubleshoot this._
- The service now creates a debug file `/tmp/dscpclassify.debug` when start/reload fails
- Use ct_processed bit rather than relying on first reply packet for established_connection counting, this allows consideration of connections established before the service started (https://github.com/jeverley/dscpclassify/issues/26)
- Optimised loopback match @ldir-EDB0 (https://github.com/jeverley/dscpclassify/commit/c9b53e94af8bc7b0ed7eb928254f5f32b41de516)
- Improved service reload performance
- Full Changelog: https://github.com/jeverley/dscpclassify/compare/v1.0.0...v1.1.0
OpenWrt 22.03-23.05.xv1.0.0
📋 What's Changed
- Initial version supporting OpenWrt versions 22.03-23.05.x
✨ New Contributors
- @ldir-EDB0 made their first contribution in https://github.com/jeverley/dscpclassify/pull/1
- Full Changelog: https://github.com/jeverley/dscpclassify/commits/v1.0.0
