What's new

FlexQoS FlexQoS 1.3.2 - 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!

Status
Not open for further replies.
hi Dave,
below is the output from flexes check command.
FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=24230) called in interactive mode with 1 args: check
Apr 12 06:59:06 FlexQoS: iptables rules already present
Apr 12 06:59:06 FlexQoS: No TC modifications necessary

just changed some setting and below is the syslog output.
A.QoS: qos_count=0, qos_check=0
Apr 12 07:02:19 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Apr 12 07:02:19 custom_script: Running /jffs/scripts/firewall-start (args: eth0)
Apr 12 07:02:19 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Apr 12 07:02:19 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=26330) called in unattended mode with 1 args: -start
Apr 12 07:02:19 FlexQoS: Applying iptables static rules
Apr 12 07:02:19 FlexQoS: Applying iptables custom rules
Apr 12 07:02:19 FlexQoS: Flushing conntrack table
Apr 12 07:02:20 FlexQoS: Applying AppDB rules and TC rates
 
I have a second bridge interface set up for my guest network. Is it possible to config the QoS rules for both br0 and br1?

Is it possible to copy the tc configuration from br0 to br1?
Not really. Adaptive QoS doesn't account for br1 or br2 yet, so I don't think there's a good solution right now. You cannot really manage download bandwidth if you're duplicating the bandwidth across two different interfaces. If you have 100 Mbit download, do you allot 70 Mbit for br0 and 30 Mbit for br1? It gets very complicated, and unmanageable.

This would be a scenario where CAKE would work better since it works solely on the WAN interface for both upload and download.
@dave14305 what prevents this? Does/can FlexQoS work with ifb's so all the set parameters relate to the chosen interface, be it br0, br1 or a custom hybrid ifb?
 
Last edited:
FlexQoS relies on stock Adaptive QoS for all the initial classification. So we can’t get too wild here.
Ah, I see. Given all the complaints about CAKE topping out circa 400-500 Mbit/s on OpenWrt, I am curious - can FlexQoS go higher?

@timko so then for your case perhaps CAKE on wan is worthwhile considering. If you don't use a VPN, then I believe you don't need to do anything other than switch it on. If you do use a VPN then you ought to consider using a custom script to set it up correctly. The latter is definitely possible in Asus Merlin.
 
Last edited:
Ah, I see. Given all the complaints about CAKE topping out circa 400-500 Mbit/s on OpenWrt, I am curious - can FlexQoS go higher?

@timko so then for your case perhaps CAKE on wan is worthwhile considering. If you don't use a VPN, then I believe you don't need to do anything other than switch it on. If you do use a VPN then you ought to consider using a custom script to set it up correctly. The latter is definitely possible in Asus Merlin.
I have gig speed and I am able to maintain a range of 700 to 850 ish with flexqos, but the problem comes in with the cpu strain. However, I maintain between 400-500 with limited strain on cpu. I have an RTAX88U.
 
Ah, I see. Given all the complaints about CAKE topping out circa 400-500 Mbit/s on OpenWrt, I am curious - can FlexQoS go higher?

@timko so then for your case perhaps CAKE on wan is worthwhile considering. If you don't use a VPN, then I believe you don't need to do anything other than switch it on. If you do use a VPN then you ought to consider using a custom script to set it up correctly. The latter is definitely possible in Asus Merlin.
With cake on asuswrt merlin, the router does not know how to handle anything past 300 to 350 ish.
 
Ah, I see. Given all the complaints about CAKE topping out circa 400-500 Mbit/s on OpenWrt, I am curious - can FlexQoS go higher?

@timko so then for your case perhaps CAKE on wan is worthwhile considering. If you don't use a VPN, then I believe you don't need to do anything other than switch it on. If you do use a VPN then you ought to consider using a custom script to set it up correctly. The latter is definitely possible in Asus Merlin.
Lynx...can you explain how using a VPN and CAKE messes with the speeds? And what custom script would be required if using CAKE with a VPN? I appreciate your feedback.
 
The issue with using a VPN is that CAKE has to have visibility of the individual flows to be able to properly apply flow fairness. If you apply CAKE on 'wan', then it just sees one encrypted flow to a single IP address or multiple such flows in the case of multiple VPNs. And potentially also further unencrypted flows if you use policy based routing.

Resolving this is challenging.

For download if you don't use a guest network then you can just apply CAKE to 'br0' because the flows are unencrypted there. If you do use a guest network then you need to set up an ifb that combines all the download flows. You mirror ingress from all VPN interfaces in use and in respect of WAN mirror only the remaining flows by skipping over the VPN flows using different priorities in the mirroring rules.

For upload if you don't use PBR and all flows are encrypted you can apply CAKE to the appropriate 'tun' interface. If you do use PBR then that gets more complicated still because you want one interface that CAKE can be applied on to have visibility of all flows, but in that case there are flows that bypass the 'tun' interface according to the PBR rules.

For the latter there is a fix for use with WireGuard in which CAKE can see individual flows despite their having been encrypted (preservation of flow hashes). But this hinges on WireGuard getting implemented in Asus Merlin.

So then the only way I know to make things work would be to use a veth pair and different namespaces. You put 'wan' and the VPN interfaces into a different namespace then bridge the namespaces with the veth pair and apply appropriate routing. Then I think you apply CAKE on each end of the veth pair.

The different namespace plus veth-pair solution should all be fine in a custom QoS script in Asus Merlin, but someone other than me would need to implement that and provide a working script because I'm not experienced enough to know how to pull that off. I would really like to see that working if anyone is game for the challenge. This is a nice and generic solution that would cover many use cases. Including even multiple VPNs.

Once WireGuard becomes a thing in Asus Merlin a custom script could be implemented based on this OpenWrt script here:


This approach makes use of the special handling by CAKE of WireGuard flows for upload and for download sets up an ifb that combines flows from 'wan' and the WireGuard interface using appropriate mirroring rules. CAKE is applied on 'wan' for upload and on the ifb for download.

The approach adopted in the script above could easily be adapted for use in Asus Merlin. There are already examples of custom QoS scripts on this forum. So it would be just a case of adjusting one of those based on the script above.

So @Kingp1n as you can see this gets complicated pretty quickly.

Happily all the tools are there in Asus Merlin to make everything work. And where there is a will there is a way.
 
Last edited:
Hi I'm noticing funny classification issues with my AX86U running FlexQoS. It seems like some traffic is not being classified at all. Disabling HW acceleration seems to fix the issue, but then I have to deal with reduced speed. I have an AC86U that works fine.

Any idea what's going on here?
 
Hi I'm noticing funny classification issues with my AX86U running FlexQoS. It seems like some traffic is not being classified at all. Disabling HW acceleration seems to fix the issue, but then I have to deal with reduced speed. I have an AC86U that works fine.

Any idea what's going on here?
Have you installed/used CAKE recently? Try posting your results:

Code:
flexqos debug
 
Just trying to get some feedback from anyone using FlexQOS. I'm trying to reclassify some AppDB rules.

I currently have STUN reclassified to Work-from-Home and I want to move Advertisement(1A) traffic from Net Control to File Transfer.

Anyone know what exactly does advertisement (1A) traffic consist off? Any info is greatly appreciated!
 
I currently have STUN reclassified to Work-from-Home and I want to move Advertisement(1A) traffic from Net Control to File Transfer.

Anyone know what exactly does advertisement (1A) traffic consist off? Any info is greatly appreciated!
Have you ever seen any traffic classified as Advertisement? I have not. There is no filter created by Adaptive QoS for 1A category, so it would bypass QoS. But since I’ve never seen anything marked as 1A, I’m not too sure it’s even a problem.

Why do you have it in Net Control now? FreshJR used to add a rule to put it in Downloads. I probably dropped it since it never seemed to be used.
 
Have you ever seen any traffic classified as Advertisement? I have not. There is no filter created by Adaptive QoS for 1A category, so it would bypass QoS. But since I’ve never seen anything marked as 1A, I’m not too sure it’s even a problem.

Why do you have it in Net Control now? FreshJR used to add a rule to put it in Downloads. I probably dropped it since it never seemed to be used.
No I dont think i have ever seen anything classified as advertisement.

i dont have it set as Net Control...it's automatically being put under Net Control. I'm moving it to File Transfer but I was wondering what traffic that entailed.
 
i dont have it set as Net Control...it's automatically being put under Net Control.
If there’s no traffic, how are you seeing it in Net Control? Since there is no default rule for 1A, the AppDB are wouldn’t be able to determine a default class and may therefore leave the dropdown as Net Control by default. I would just forget about it.
 
So when I go to the FlexQOS tab and click on customize, I then go into the AppDB reclass section and when I search and type Advertisement (1A) ...it automatically shows the class under "Net Control"....my understanding was that this is how asus is automatically classifying this traffic, correct? Or do I have the whole process "jacked" up...I wouldn't be surprised. Please teach a noob!
 
So when I go to the FlexQOS tab and click on customize, I then go into the AppDB reclass section and when I search and type Advertisement (1A) ...it automatically shows the class under "Net Control"....my understanding was that this is how asus is automatically classifying this traffic, correct? Or do I have the whole process "jacked" up...I wouldn't be surprised. Please teach a noob!
Normally, that would be true. This Advertisement app is an anomaly, which has no default category at all, so the dropdown just doesn’t move at all from Net Control.
 
Normally, that would be true. This Advertisement app is an anomaly, which has no default category at all, so the dropdown just doesn’t move at all from Net Control.
So leaving advertisement(a1) at default doesn't hurt since it seems this traffic doesn't exist correct. Appreciate the info.
 
@dave14305

Would qos benefit me?


2X iPhones ac wifi – 340 Mbps down

desktop wired – 157 down / 11 up – sometimes uses a VPN

2X android tvs always on a VPN with 10/100 Ethernet ~50-70 down(with vpn on)

2X google nest minis and a couple smart bulbs


hiltron cable modem - rt ac68u (Diversion/ skynet/ ntpmerlin) – eero (bridged mode/ only supplies wifi)


the asus router sits with about 70-80% ram used..... do have a 2gb swap.... diversion blocking 1.6 million. Also have nextdns added as a dot


I pay for 350 down/ 10 up


i would give priority to the tvs, to prevent buffering?



would qos help ? If so what type and any pointers? Im new to qos, thanks
 
would qos help ? If so what type and any pointers?
The only good QoS option would be Adaptive QoS since you must have hardware acceleration for the AC68U to hit 350 Mbps.

Whether it would help or not, it’s not for me to say. Is there a problem currently? Your use of VPNs may still limit your performance regardless of QoS.

Try it and see.
 
Hi Dave,

The FlexQoS is amazing tool for me. At home, my ADSL speed is 10/1M and you can't believe how amazingly well, FlexQoS achieves to prioritize streaming services over Other & Downloads classes. It even identifies as download class any icloud connection (for example when uploading or downloading to view photos). No matter what, I always have available bw to use, and FlexQoS, if needed, it aggressively lowers bandwidth usage of Download classes to leave space for the higher classes.

In my case (10M/1M) with such low uploading speed (1M) , backing up photos to the cloud (which takes ages) is enough to saturate the line and no other service can have the available bw to make outgoing requests, hence download speeds are hurt, when anyone is uploading.

With your help, I achieved to have my wife's pc (who works as a call center agent) to properly use the ADSL without any issues (I have her PC a custom mark to net packets) and no complaints whatsoever even if I use the rest BW for torrents.

One very simple question for me. In the FlexQoS screen, where I can filter connections, is it possible to put a range of IPs? For example 192.168.0.1$-192.168.0.10$

Many thanks!
 
Status
Not open for further replies.

Sign Up For SNBForums Daily Digest

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