Yes that’s the one. And oh really and yeah I’m definitely putting the fight speeds in, what qos is recommended, I tried adaptive and that didn’t seem to work well at all.Are you talking about the RT-AX86U? I don't believe Tradition QoS has worked in a very long time?
Are you certain that you are inputting the up/down speeds correctly? What are your ISP speeds?
The AX86u definitely doesn't work with custom rules using flex without fc disabled. Anything using standard markings seem to be fine.L&LD is correct, traditional QoS is broke and has been for a long time. Not likely to be fixed either. At least in the near term.
Adaptive QoS should work but it needs more user intervention to get the desired results.
Check out Flex QoS for Adaptive QoS.
FlexQoS - FlexQoS 1.3.2 - Flexible QoS Enhancement Script for Adaptive QoS
FlexQoS Version 1.3.2 - Released 16-Sep-2022 This is just a minor release with an iptables optimization. Nothing exciting or outwardly visible has changed. CHANGED: Split iptables rules into separate upload and download chains to avoid unnecessary rule traversal CHANGED: Tweaked 'debug'...www.snbforums.com
You could also attempt to use Cake QoS which I believe is experimental state.
It is cpu bound so do not use it for any high speed WAN.
CakeQOS - CakeQoS-Merlin v2.1.1
**** DEVELOP Branch update to v.2.2.1 *** See: http://www.snbforums.com/threads/cakeqos-merlin-v2-1-0.74309/post-717254 Thanks for @dave14305 for this update to the Develop branch. Feedback appreciated. Continue reading for PROD v2.1.1 I am happy to announce CakeQOS v2.1.1 is released. Key...www.snbforums.com
I've independently concluded by inspection that it looks like it's broken for anything using kernel 2.6.36 onwards. (It seems to work okay on my RT-N66U with 2.6.22 on the LTS fork).L&LD is correct, traditional QoS is broke and has been for a long time. Not likely to be fixed either. At least in the near term.
CONNMARK --set-return
option that was used by add_qos_rules() with that kernel.CONNMARK --set-mark
and RETURN
rules as a substitute for CONNMARK --set-return
with 2.6.36 or later (so all devices on Merlin's tree).CONNMARK --set-return
to MARK --set-mark
, so are only marking the current packet, but not the connection. But I think that's okay, because it's not using connection tracking at all?iptables -t mangle -I PREROUTING -j CONNMARK --restore --mask 7
tc filter del dev imq0 pref 10 fw
tc filter add dev imq0 parent 2: pref 10 u32 match mark 1 7 flowid 2:10
tc filter del dev imq0 pref 20 fw
tc filter add dev imq0 parent 2: pref 20 u32 match mark 2 7 flowid 2:20
tc filter del dev imq0 pref 30 fw
tc filter add dev imq0 parent 2: pref 20 u32 match mark 3 7 flowid 2:30
tc filter del dev imq0 pref 40 fw
tc filter add dev imq0 parent 2: pref 20 u32 match mark 4 7 flowid 2:40
tc filter del dev imq0 pref 50 fw
tc filter add dev imq0 parent 2: pref 20 u32 match mark 5 7 flowid 2:50
tc filter del dev imq0 pref 6 fw
tc filter add dev imq0 parent 2: pref 6 u32 match mark 6 7 flowid 2:60
This is a very interesting observation about the neglect of the nf marks versus ct marks. I suppose the ideal scenario would be for theI've been digging into the traditional QoS code for my RT-N66U, and I'm glad to see this thread saying:
I've independently concluded by inspection that it looks like it's broken for anything using kernel 2.6.36 onwards. (It seems to work okay on my RT-N66U with 2.6.22 on the LTS fork).
I've been pecking away at it here and here.
If I'm understanding it correctly, there's at least one fairly simple reason it's fundamentally flawed - kernel 2.6.22 had a hack to add aCONNMARK --set-return
option that was used by add_qos_rules() with that kernel.
This was not ported fully to 2.6.36, so it didn't really work. And it wasn't ported at all to later kernels.
So add_qos_rules() instead uses a pair ofCONNMARK --set-mark
andRETURN
rules as a substitute forCONNMARK --set-return
with 2.6.36 or later (so all devices on Merlin's tree).
The problem is that this doesn't do the same thing. The --set-return actually did 3 things - it set the current packet mark, and the connection mark, and it returned.
The current substitute only sets the connection mark and returns, it doesn't mark the current packet.
Now, I think that previously you got away with this because the QOSO chain was run at least twice for each packet (from OUTPUT and POSTROUTING). Which meant on the second time through, it restored the connection mark to the current packet.
But these changes optimised the tables to avoid running QOSO multiple times. But that means that many/most output packets don't get marked any more. The rules update the connections, but not the packets.
But I guess at least subsequent packets should get marked? Maybe it's only the first packet on each connection that isn't marked? Every subsequent packet ends up using the mark restored from the previous packet's rules?
The bandwidth limiter rules, on the other hand, switched fromCONNMARK --set-return
toMARK --set-mark
, so are only marking the current packet, but not the connection. But I think that's okay, because it's not using connection tracking at all?
Does anyone with a grasp of QoS want to comment on this analysis? I'm pretty new to the netfilter and iptables machinery, so may have misgrasped something fundamental! And the only box I have access to is the RT-N66U, so this is all inspection.
QOSO
chain to set the nf mark with -j MARK --set-mark 0x%s/0x17
, then a final rule in POSTROUTING
to -j CONNMARK --save-mark --mask 0x17
.I drafted a solution that used a set of 5 chain subroutines containing the mark and connmark like:This is a very interesting observation about the neglect of the nf marks versus ct marks. I suppose the ideal scenario would be for theQOSO
chain to set the nf mark with-j MARK --set-mark 0x%s/0x17
, then a final rule inPOSTROUTING
to-j CONNMARK --save-mark --mask 0x17
.
MEDIUM
MARK --setmark 0x3/0x17
CONNMARK --setmark 0x3/0x17
-g MEDIUM
.
Welcome To SNBForums
SNBForums is a community for anyone who wants to learn about or discuss the latest in wireless routers, network storage and the ins and outs of building and maintaining a small network.
If you'd like to post a question, simply register and have at it!
While you're at it, please check out SmallNetBuilder for product reviews and our famous Router Charts, Ranker and plenty more!