What's new

FlexQoS FlexQoS 1.2.4 - Flexible QoS Enhancement Script for Adaptive QoS

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

No, other than wondering if the grass is greener on the other side.
I'd imagine for some "it's the icing on the cake".....OK, I'm leaving now.
 
Which option on FlexQoS is that? "Ethernet with VLAN"?

Those options for WAN packet overhead are SOOO not user-friendly. The most cryptic thing I have come across in regards to network. Why doesn't the options follow some sort of ELI5? Like including the bandwidth estimated range for each option or something.
 
No, other than wondering if the grass is greener on the other side.

People who need HW acceleration should still prefer Adaptive QoS over Cake.

Yes!
Trialing 1000/50 here (asymmetrical no?), so I’m thinking Cake isn’t suitable for my scenario.
FlexQos working fine.
I seem to mainly need it for upload limiting. Set to 48mbps = speed test 47 mbps.
No qos = 35 mbps upload. :oops:
Thanks NBN policer........
 
Which option on FlexQoS is that? "Ethernet with VLAN"?

Those options for WAN packet overhead are SOOO not user-friendly. The most cryptic thing I have come across in regards to network. Why doesn't the options follow some sort of ELI5? Like including the bandwidth estimated range for each option or something.

Any value can be used/entered manually. The selection only acts as a starter.
 
@dave14305 does the Flexqos tab hide itself if you switch to Cake automatically?
 
@dave14305 , first of all, thank you for the great work. Really appreciated.

I have a few questions though. As context I have to say that I come from using a Mikrotik firewall.

1) Wan packet overhead. I have a PPPoE connection so the overhead should be as low as 30. I have it set to 40. I don't really know in what part of the flow is the HTB working. I'm changing rates, burst, etc. and I'm wondering whether the upload overhead should be the same than the download or if br0 should be lower.

2) With regards to calculating the Overhead. If a wireshark packets (in either chain) none of them show PPPoE or anything cuz it's done later. If I wireshark between the router and the ONT obviously it does show the PPPoE encapsulation. What I mean is does the overhead have to be set to the bytes used/needed when the HTB is applied or do I have to account for that later PPPoE encapsulation, Vlan tag, etc?

3) Can I delete download rules?, or any rules for that matter? I have a good bandwidth so if I disable QoS and perform a bufferbloat test, the results are even better (for download) than with QoS enabled, so I'd like to know if it's possible to delete download rules and see how it goes.

4) I've been searching (the web, this thread, etc) what quantum is with regards to QoS. And I'm none the wiser. What is quantum and what does it do?

5) How does burst work? In mikrotik if a class got to the rate limit, burst would kick in and decide how much it could go above that rate limit and for how much time. So I had three main parameters to change, burst threshold (the burst switch on/off) burst limit (maximum data rate that can be achieved whilst burst is allowed) and burst time (not real time, just used to calculate the average rates and ultimately the burst time).
Is it similar here?
 
Last edited:
3) Can I delete download rules?, or any rules for that matter? I have a good bandwidth so if I disable QoS and perform a bufferbloat test, the results are even better (for download) than with QoS enabled, so I'd like to know if it's possible to delete download rules and see how it goes.
No, Adaptive QoS probably wouldn't let you.
4) I've been searching (the web, this thread, etc) what quantum is with regards to QoS. And I'm none the wiser. What is quantum and what does it do?
Quantum generally refers to the number of bytes that a QoS class is allowed to send before having to stop and allow another class to send its data. It's like in school when you'd all be standing in line for the water fountain and the person at the fountain is taking too long, and the next guy in line says, "Save some for the fish!". That guy can then go to the back of the line and wait his turn again. Quantum ensures fairness among multiple competing classes so that lower priority classes do not get starved for bandwidth (or water).
5) How does burst work? In mikrotik if a class got to the rate limit, burst would kick in and decide how much it could go above that rate limit and for how much time. So I had three main parameters to change, burst threshold (the burst switch on/off) burst limit (maximum data rate that can be achieved whilst burst is allowed) and burst time (not real time, just used to calculate the average rates and ultimately the burst time).
Burst is the number of bytes that a QoS class can send before being subjected to the rate limits for that class. There's no speed limit at all until you've exhausted your burst allowance. Smaller burst values can keep tighter control on bandwidth and latency, but can also tend to underfill your link and lower your throughput.

I don't have any expertise on questions 1 or 2.
 
What would be the general reaction to moving the FlexQoS tab to the head of the Adaptive QoS tab section? Personally, I always click over to FlexQoS when opening this menu, so it would save me an extra click.

Would it bother anyone if this was the new tab position? Would you think I was trying to take over the world?

1615000585337.png
 
What would be the general reaction to moving the FlexQoS tab to the head of the Adaptive QoS tab section? Personally, I always click over to FlexQoS when opening this menu, so it would save me an extra click.

Would it bother anyone if this was the new tab position? Would you think I was trying to take over the world?

View attachment 31621
Thats sounds good, same here that and QoS. Maybe make it the 2nd tab.
 
What would be the general reaction to moving the FlexQoS tab to the head of the Adaptive QoS tab section? Personally, I always click over to FlexQoS when opening this menu, so it would save me an extra click.

Would it bother anyone if this was the new tab position? Would you think I was trying to take over the world?

View attachment 31621
Yes, a great idea, please!:cool:
 
Last edited:
What would be the general reaction to moving the FlexQoS tab to the head of the Adaptive QoS tab section? Personally, I always click over to FlexQoS when opening this menu, so it would save me an extra click.

Would it bother anyone if this was the new tab position? Would you think I was trying to take over the world?

I vote 3rd, since I actually use the 1st tab to see which device is actively being used. 2nd is the QoS master selection, so flexqos would be logically after.
 
No, Adaptive QoS probably wouldn't let you.

Quantum generally refers to the number of bytes that a QoS class is allowed to send before having to stop and allow another class to send its data. It's like in school when you'd all be standing in line for the water fountain and the person at the fountain is taking too long, and the next guy in line says, "Save some for the fish!". That guy can then go to the back of the line and wait his turn again. Quantum ensures fairness among multiple competing classes so that lower priority classes do not get starved for bandwidth (or water).

Burst is the number of bytes that a QoS class can send before being subjected to the rate limits for that class. There's no speed limit at all until you've exhausted your burst allowance. Smaller burst values can keep tighter control on bandwidth and latency, but can also tend to underfill your link and lower your throughput.

I don't have any expertise on questions 1 or 2.
Thank you so much, dave. I'll tweak those burst values to see how it affects online gaming.
I've also been changing the quantum figures, but for me the default ones (rate/(8*100)) give me the best performance overall.
As for burst, does it work per second? I mean, those are the specific bytes that can be used each second before going to rate limit or is it calculated differently?
 
As for burst, does it work per second? I mean, those are the specific bytes that can be used each second before going to rate limit or is it calculated differently?
Burst is the size of the Bucket in Hierarchical Token Bucket (HTB). Each class earns their Tokens at their defined Rate. But if they aren’t using those tokens (i.e. idle), they will accumulate only to the point it has enough tokens for burst bytes. Anything more overflows the bucket and spills on the floor, so to speak. So you get to go full speed if you‘ve been idle, but once you use up your burst, it’s only replenished at the speed of rate, so you won’t build up a new burst until you’ve sent less than your rate.

This article from the Wayback Machine is my favorite for understanding HTB.

This diagram from Linux-ip.Net is also a favorite.
htb-class.png
 
I saw another hotfix came out ... but that hasn't changed.
Thanks again
I don’t know what more can be done. In the develop branch, all bursts can be minimum of 1600 instead of 3200. I might be out of ideas. Try cake in the next Gnuton build and see how it works.

EDIT: @BoostOver Sorry, this was bad advice since Cake is not supported on the AC68U. :oops:
 
Last edited:
My next question to FlexQoS users (before you ditch me for Cake): is there any reason to NOT use the fq_codel option? Does Default work better for anyone?

I’m at the point where I need to resume simplifying the interface and script. I’ve been adding and adding lately and it needs grooming.

Open to other ideas for simplification or cleanup.
 

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top