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 everyone,

I have an issue with the flexQos iptables rules and CPU usage and I'm not sure if it can be solved or not.

Recently my ISP upgraded my download speed to 400mbit. After changing the bandwidth settings I noticed that game downloads were much slower than anything else. This seems to be caused by the default "Game downloads" iptable rule. Any traffic marked as gaming and then remarked by this rule caused CPU to spike from 30 to 90%, severely limiting throughput. Once I removed that rule the CPU usage was down to 30% and the throughput went back to around 380, the limit I configured. It wasn't related to the classification, as any file transfer download from any other service would not have this issue while falling into the lowest priority (file transfer).

Now unfortunately without this rule any download from a gaming service now has the highest priority. Is there any way to mark these downloads as file transfer again without causing massive CPU spikes? Or am I out of luck?

EDIT: also, unrelated to the above. It seems to be impossible to delete every iptables rule. Doing so will insert the default list.
 
Last edited:
Hi everyone,

I have an issue with the flexQos iptables rules and CPU usage and I'm not sure if it can be solved or not.

Recently my ISP upgraded my download speed to 400mbit. After changing the bandwidth settings I noticed that game downloads were much slower than anything else. This seems to be caused by the default "Game downloads" iptable rule. Any traffic marked as gaming and then remarked by this rule caused CPU to spike from 30 to 90%, severely limiting throughput. Once I removed that rule the CPU usage was down to 30% and the throughput went back to around 380, the limit I configured. It wasn't related to the classification, as any file transfer download from any other service would not have this issue while falling into the lowest priority (file transfer).

Now unfortunately without this rule any download from a gaming service now has the highest priority. Is there any way to mark these downloads as file transfer again without causing massive CPU spikes? Or am I out of luck?

EDIT: also, unrelated to the above. It seems to be impossible to delete every iptables rule. Doing so will insert the default list.
router?
 
having issues with my Asus AXE-16000 it doesnt show the upload, also i cant add the ports i want to be listed as gaming since theres others that i would need that arent being listed

1681861327593.png
 
having issues with my Asus AXE-16000 it doesnt show the upload, also i cant add the ports i want to be listed as gaming since theres others that i would need that arent being listed

View attachment 49431
Have you tried restarting the router to see if it fixes the issue? This might be due you having one of this new routers. I know there was a hotfix back in Dec 2022 for FlexQoS to apply to new router models.
 
Have you tried restarting the router to see if it fixes the issue? This might be due you having one of this new routers. I know there was a hotfix back in Dec 2022 for FlexQoS to apply to new router models.
i did, try it, it still doesnt refresh the upload, also i do have a newer router, i have the AXE-16000
 
I dont think i can help much but try running the debug command:

Code:
flexqos -debug

Post the output to see if Flex is running appropriately!

Also run this command as well :

Post in thread 'GT-AX11000 Pro - FlexQOS not starting?' https://www.snbforums.com/threads/gt-ax11000-pro-flexqos-not-starting.82441/post-809793
Code:
FlexQoS v1.3.2 released 2022-09-16

Debug date      : 2023-04-22 17:53:30-0400
Router Model    : GT-AXE16000
Firmware Ver    : 388.2_0
DPI/Sig Ver     : 2.0.3 / 2.348
WAN iface       : eth5
tc WAN iface    : eth5
IPv6            : dhcp6
Undf Prio       : 2
Down Band       : 1024000
Up Band         : 45056
*****************
Net Control     : 1:11
Work-From-Home  : 1:13
Gaming          : 1:10
Others          : 1:17
Web Surfing     : 1:15
Streaming       : 1:12
File Transfers  : 1:16
Learn-From-Home : 1:14
*****************
Downrates       :  153600,   51200,  307200,  204800,   51200,  102400,   51200,  102400
Downceils       : 1024000, 1024000, 1024000, 1024000, 1024000, 1024000, 1024000, 1024000
Uprates         :    6758,    2252,    4505,    9011,    2252,    4505,    2252,   13516
Upceils         :   45056,   45056,   45056,   45056,   45056,   45056,   45056,   45056
*****************
iptables settings: Defaults
-A FlexQoS_down -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x8006ffff/0xc03fffff
-A FlexQoS_up -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x4006ffff/0xc03fffff
-A FlexQoS_down -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x8006ffff/0xc03fffff
-A FlexQoS_up -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x4006ffff/0xc03fffff
-A FlexQoS_down -p udp -m multiport --dports 16384:16415 -j MARK --set-mark 0x8006ffff/0xc03fffff
-A FlexQoS_up -p udp -m multiport --sports 16384:16415 -j MARK --set-mark 0x4006ffff/0xc03fffff
-A FlexQoS_down -p udp -m multiport --dports 16384:16415 -j MARK --set-mark 0x8006ffff/0xc03fffff
-A FlexQoS_up -p udp -m multiport --sports 16384:16415 -j MARK --set-mark 0x4006ffff/0xc03fffff
-A FlexQoS_down -p tcp -m multiport --sports 119,563 -j MARK --set-mark 0x8003ffff/0xc03fffff
-A FlexQoS_up -p tcp -m multiport --dports 119,563 -j MARK --set-mark 0x4003ffff/0xc03fffff
-A FlexQoS_down -p tcp -m multiport --sports 119,563 -j MARK --set-mark 0x8003ffff/0xc03fffff
-A FlexQoS_up -p tcp -m multiport --dports 119,563 -j MARK --set-mark 0x4003ffff/0xc03fffff
-A FlexQoS_down -p tcp -m multiport --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x8003ffff/0xc03fffff
-A FlexQoS_up -p tcp -m multiport --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x4003ffff/0xc03fffff
-A FlexQoS_down -p tcp -m multiport --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x8003ffff/0xc03fffff
-A FlexQoS_up -p tcp -m multiport --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x4003ffff/0xc03fffff
*****************
appdb rules: <000000>6<0D0007>5<0D0086>5<0D00A0>5<12003F>4<080131>1<13****>4<14****>4
filter add dev br0 protocol all prio 2 u32 match mark 0x80000000 0xc000ffff flowid 1:17
filter add dev eth5 protocol all prio 2 u32 match mark 0x40000000 0xc000ffff flowid 1:17
filter add dev br0 protocol all prio 15 u32 match mark 0x800D0007 0xc03fffff flowid 1:16
filter add dev eth5 protocol all prio 15 u32 match mark 0x400D0007 0xc03fffff flowid 1:16
filter add dev br0 protocol all prio 15 u32 match mark 0x800D0086 0xc03fffff flowid 1:16
filter add dev eth5 protocol all prio 15 u32 match mark 0x400D0086 0xc03fffff flowid 1:16
filter add dev br0 protocol all prio 15 u32 match mark 0x800D00A0 0xc03fffff flowid 1:16
filter add dev eth5 protocol all prio 15 u32 match mark 0x400D00A0 0xc03fffff flowid 1:16
filter add dev br0 protocol all prio 20 u32 match mark 0x8012003F 0xc03fffff flowid 1:15
filter add dev eth5 protocol all prio 20 u32 match mark 0x4012003F 0xc03fffff flowid 1:15
filter add dev br0 protocol all prio 10 u32 match mark 0x80080131 0xc03fffff flowid 1:10
filter add dev eth5 protocol all prio 10 u32 match mark 0x40080131 0xc03fffff flowid 1:10
filter change dev br0 prio 22 protocol all handle 829::800 u32 flowid 1:15
filter change dev eth5 prio 22 protocol all handle 802::800 u32 flowid 1:15
filter change dev br0 prio 23 protocol all handle 82a::800 u32 flowid 1:15
filter change dev eth5 prio 23 protocol all handle 805::800 u32 flowid 1:15
class change dev br0 parent 1:1 classid 1:10 htb overhead 18 linklayer ethernet prio 0 rate 153600Kbit ceil 1024000Kbit burst 128000b cburst 1280000b quantum 1920000
class change dev eth5 parent 1:1 classid 1:10 htb overhead 18 linklayer ethernet prio 0 rate 6758Kbit ceil 45056Kbit burst 5632b cburst 56000b quantum 84475
class change dev br0 parent 1:1 classid 1:11 htb overhead 18 linklayer ethernet prio 1 rate 51200Kbit ceil 1024000Kbit burst 128000b cburst 1280000b quantum 640000
class change dev eth5 parent 1:1 classid 1:11 htb overhead 18 linklayer ethernet prio 1 rate 2252Kbit ceil 45056Kbit burst 5632b cburst 56000b quantum 28150
class change dev br0 parent 1:1 classid 1:12 htb overhead 18 linklayer ethernet prio 2 rate 307200Kbit ceil 1024000Kbit burst 128000b cburst 1280000b quantum 3840000
class change dev eth5 parent 1:1 classid 1:12 htb overhead 18 linklayer ethernet prio 2 rate 4505Kbit ceil 45056Kbit burst 5632b cburst 56000b quantum 56312
class change dev br0 parent 1:1 classid 1:13 htb overhead 18 linklayer ethernet prio 3 rate 204800Kbit ceil 1024000Kbit burst 128000b cburst 1280000b quantum 2560000
class change dev eth5 parent 1:1 classid 1:13 htb overhead 18 linklayer ethernet prio 3 rate 9011Kbit ceil 45056Kbit burst 5632b cburst 56000b quantum 112637
class change dev br0 parent 1:1 classid 1:14 htb overhead 18 linklayer ethernet prio 4 rate 51200Kbit ceil 1024000Kbit burst 128000b cburst 1280000b quantum 640000
class change dev eth5 parent 1:1 classid 1:14 htb overhead 18 linklayer ethernet prio 4 rate 2252Kbit ceil 45056Kbit burst 5632b cburst 56000b quantum 28150
class change dev br0 parent 1:1 classid 1:15 htb overhead 18 linklayer ethernet prio 5 rate 102400Kbit ceil 1024000Kbit burst 128000b cburst 1280000b quantum 1280000
class change dev eth5 parent 1:1 classid 1:15 htb overhead 18 linklayer ethernet prio 5 rate 4505Kbit ceil 45056Kbit burst 5632b cburst 56000b quantum 56312
class change dev br0 parent 1:1 classid 1:16 htb overhead 18 linklayer ethernet prio 6 rate 51200Kbit ceil 1024000Kbit burst 128000b cburst 1280000b quantum 640000
class change dev eth5 parent 1:1 classid 1:16 htb overhead 18 linklayer ethernet prio 6 rate 2252Kbit ceil 45056Kbit burst 5632b cburst 56000b quantum 28150
class change dev br0 parent 1:1 classid 1:17 htb overhead 18 linklayer ethernet prio 7 rate 102400Kbit ceil 1024000Kbit burst 128000b cburst 1280000b quantum 1280000
class change dev eth5 parent 1:1 classid 1:17 htb overhead 18 linklayer ethernet prio 7 rate 13516Kbit ceil 45056Kbit burst 5632b cburst 56000b quantum 168950
 
tc WAN iface : eth5
The problem is that Merlin hasn’t updated his own Classification page to adapt to variations in WAN interface name for newer models. eth5 is not expected in Merlin’s code to retrieve stats. You probably see the same behavior on the Classification page where upload is not populated. Feel free to open a thread for Merlin, reporting this shortcoming.


Net Control : 1:11
Gaming : 1:10

Also, you should probably remove all devices under the Gear Accelerator feature. It will confuse the priorities in FlexQoS.
 
The problem is that Merlin hasn’t updated his own Classification page to adapt to variations in WAN interface name for newer models. eth5 is not expected in Merlin’s code to retrieve stats. You probably see the same behavior on the Classification page where upload is not populated. Feel free to open a thread for Merlin, reporting this shortcoming.




Also, you should probably remove all devices under the Gear Accelerator feature. It will confuse the priorities in FlexQoS.

Saw a change, in the performance, thank you very much Dave, I posted in the merlin side but im not sure if thats where it belongs, hopefully i posted in the right spot because I really am new
 
I have a S2S VPN between RT-AX86U Pro and a DSL-AC68U routers. Both running latest Merlin and Gnuton firmwares with amtm and FlexQoS configured. When having traffic over the VPN, the AX86 correctly identifies the traffic as upload in the QoS section. Unfortunately, this is not the case with the DSL-AC68. The traffic should be identified as download in that side but I can see it in the upload gauge , any ideas if that can be fixed?
 
I have a S2S VPN between RT-AX86U Pro and a DSL-AC68U routers. Both running latest Merlin and Gnuton firmwares with amtm and FlexQoS configured. When having traffic over the VPN, the AX86 correctly identifies the traffic as upload in the QoS section. Unfortunately, this is not the case with the DSL-AC68. The traffic should be identified as download in that side but I can see it in the upload gauge , any ideas if that can be fixed?
@Yiannis Do you have IPv6 enabled?
 
Weird issue on flexqos. Noticed it after I switched to gt-ax6000.
Most of streaming traffic (Netflix out of the issue) is shown on net control packets on the graphic. However, in the detailed list there is no device using net control packets.

Note - screenshot taken while streaming a movie on HBO MAX
Screenshot attached and debug code here:

 

Attachments

  • Screenshot_2023-07-01-11-07-42-290_com.android.chrome.jpg
    Screenshot_2023-07-01-11-07-42-290_com.android.chrome.jpg
    55.7 KB · Views: 71
Weird issue on flexqos. Noticed it after I switched to gt-ax6000.
Most of streaming traffic (Netflix out of the issue) is shown on net control packets on the graphic. However, in the detailed list there is no device using net control packets.

Note - screenshot taken while streaming a movie on HBO MAX
Screenshot attached and debug code here:

it may have the issue like the AX86u, try turning flow control off. from the command line "fc disable"
 
it may have the issue like the AX86u, try turning flow control off. from the command line "fc disable"
What is flow control and what the bendfits/disadvantages of having it off?
 
What is flow control and what the bendfits/disadvantages of having it off?
Its basically hardware acceleration, with it turned off your speed will be limited to around 300Mbps
 
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