Respectfully, I think sqm-scripts might take the "configure the required tc action ctinfo" part and maybe the "required nftables bits to store the egress DSCP into the conntrack database" but anything beyond that is IMHO clearly outside sqm-script's wheelhouse...
Yes, that’s what I was thinking when I mentioned “generic”, but didn’t mention any specifics. After Qosify, DSCPClassify, QoSmate, and others, the market for such scripts is saturated (IMHO). Getting the basic ctinfo mechanism into sqm-scripts will allow people to setup regular fw4 rules to mark traffic with DSCP for basic usage.
Thanks for the feedback, that makes sense and I agree with most of it.
My goal with this project was not to propose yet another competing QoS framework, nor to replace existing solutions like qosify, QoSmate, or fw4-based setups.
What I was trying to address is a slightly different angle:
• SQM (and luci-app-sqm) is already widely installed and familiar to many users
• Many users are uncomfortable writing custom nftables or fw4 rules
• There is often no easy way to observe whether DSCP markings actually survive end-to-end and are honored by CAKE
The custom SQM script and LuCI additions are therefore meant as a simple, opinionated workflow:
• define a small set of latency-sensitive endpoints (IPv4/IPv6)
• apply DSCP in a controlled way
• immediately validate the result via a read-only conntrack view
I fully agree that the generic ctinfo mechanism (store egress DSCP into conntrack and restore on ingress) could be useful as a reusable building block, possibly within sqm-scripts, while higher-level policy logic and UI probably belong outside of it.
For now, this project is mainly intended as:
• a learning and experimentation tool
• a reference implementation of ctinfo + DSCP + CAKE
• a convenience layer for users already relying on luci-app-sqm
I appreciate the discussion and pointers they help clarify where this fits in the broader ecosystem.