If there is no prio 1 und 2 traffic, then prio 3 traffic could use up to 100% of the bandwidth.
However as soon there is higher priority traffic prio 3 traffic should surrender all bandwidth but 10% to higher prio traffic. The 10% is need so that the prio 3 traffic keeps all connections.
Likewise with Prio 2, which should give up all bandwidth but 40%, so that the rest of (at least) 50% traffic could be grabbed by high priority applications.
This is approxmimately the way simple traffic shaping in works in the FritzBox (without any min percentages, higher prio traffic always gets all bandwidth from lower prio traffic).
Can this be solved with NS traffic shaping?
Also it seems that disabling of priority rules does have no effect. The rule is still applied.
How? There seems to be no concept of priority just min/max bandwidths.
To make it even simpler. I want to have three priorities 1,2,3.
Priority one should be able to take all bandwidth from 2 and 3 and 2 to able to take all from 3.
Well, AFAIK devices don’t cope with human-minded rules.
As firewall rules does, when a “kind” traffic hit the match, then rule is applied and all other rules won’t be considered…
So top-placed rules are checked more often, bottom-placed rules are checked less often. Then…
Place at #1 the rule you want to have higher priority, with enough minimum bandwidth and 100% as maximum
size the maximum bandwidth of the rules #2 and #3 less than 100%, possibly considering how much data you want to allow at rule #1 when #2 and #3 can be also fulfilled
size your minimum bandwidth for all three rules combined for having less than 90-95% of maximum traffic. Yes, you’ll maybe “regret” to leave something on the table, but your system will manage a lot better heavy traffic moments, allowing to have things working slowly but smoothly.
Don’t forget to configure correctly your RED bandwidth limits…
Priority is defined by the order in which classes appear in /etc/firehol/fireqos.conf.
Unfortunately, sorting the classes is not implemented, you may try changing the template or overriding it with your desired setup.