What's new

[Fork] FlexQoS - Flexible QoS Enhancement Script for Adaptive QoS

immi803

Regular Contributor
@dave14305
In fresh jr script, i read some post for qos to be last one to start in firewall-start
To check this, uninstalled flex and installed again and it always places above firewall, does it make any difference or it's fine as it's showing in spoiler below
#!/bin/sh
sh /jffs/addons/flexqos/flexqos.sh -start $1 & # FlexQoS Ad>sh /jffs/scripts/firewall start skynetloc=/tmp/mnt/USB/skyn>
 

maghuro

Very Senior Member
Another one...
I defined speedtest to go to net control.
On the list, it shows it as red category.
However, on the pie, it is being shown as web traffic. As you can notice, only a couple of Kbs on net control.
Note that I am currently doing a speedtest when I took the screenshot.

https://i.ibb.co/p414t47/Screenshot-20200626-004325502.png

Code:
adminRT-AC86U/tmp/home/root flexqos -debug                                                                                                             
FlexQoS v0.6 released 06/25/2020

Debug:

Undf Prio: 2
Undf FlowID: 1:15
Classes Present: 8
Down Band: 40550
Up Band  : 9728
***********
Net Control = 1:10
Work-From-Home = 1:12
Gaming = 1:11
Others = 1:15
Web Surfing = 1:14
Streaming = 1:13
Downloads = 1:17
Defaults = 1:16
***********
Downrates -- 2027, 6082, 8110, 12165, 4055, 4055, 2027, 2027
Downceils -- 40550, 40550, 40550, 40550, 40550, 40550, 40550, 40550
Downbursts -- 3198b, 9597b, 4797b, 3196b, 3198b, 3198b, 3198b, 3199b
DownCbursts -- 49582b, 49582b, 49582b, 49582b, 49582b, 49582b, 49582b, 49582b
***********
Uprates -- 486, 1459, 1945, 972, 972, 2918, 486, 486
Upceils -- 9728, 9728, 9728, 9728, 9728, 9728, 9728, 9728
Upbursts -- 3198b, 3198b, 3198b, 3198b, 3198b, 3198b, 3198b, 3198b
UpCbursts -- 11196b, 11196b, 11196b, 11196b, 11196b, 11196b, 11196b, 11196b
iptables settings: <>>udp>>500,4500>>3<>>udp>16384:16415>>>3<>>tcp>>119,563>>5<>>tcp>>80,443>08****>7<10.0.0.228>>both>29750>>>5<10.0.0.65/29>>both>>>>2
iptables -D POSTROUTING -t mangle -o br0   -p udp  -m multiport  --sports 500,4500  -j MARK --set-mark 0x80060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0   -p udp  -m multiport  --sports 500,4500  -j MARK --set-mark 0x80060001
iptables -D POSTROUTING -t mangle -o eth0   -p udp  -m multiport  --dports 500,4500  -j MARK --set-mark 0x40060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0   -p udp  -m multiport  --dports 500,4500  -j MARK --set-mark 0x40060001
iptables -D POSTROUTING -t mangle -o br0   -p udp  --dport 16384:16415   -j MARK --set-mark 0x80060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0   -p udp  --dport 16384:16415   -j MARK --set-mark 0x80060001
iptables -D POSTROUTING -t mangle -o eth0   -p udp  --sport 16384:16415   -j MARK --set-mark 0x40060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0   -p udp  --sport 16384:16415   -j MARK --set-mark 0x40060001
iptables -D POSTROUTING -t mangle -o br0   -p tcp  -m multiport  --sports 119,563  -j MARK --set-mark 0x80030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0   -p tcp  -m multiport  --sports 119,563  -j MARK --set-mark 0x80030001
iptables -D POSTROUTING -t mangle -o eth0   -p tcp  -m multiport  --dports 119,563  -j MARK --set-mark 0x40030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0   -p tcp  -m multiport  --dports 119,563  -j MARK --set-mark 0x40030001
iptables -D POSTROUTING -t mangle -o br0   -p tcp  -m multiport  --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x803f0001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0   -p tcp  -m multiport  --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x803f0001
iptables -D POSTROUTING -t mangle -o eth0   -p tcp  -m multiport  --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x403f0001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0   -p tcp  -m multiport  --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x403f0001
iptables -D POSTROUTING -t mangle -o br0  -d 10.0.0.228  -p tcp  --dport 29750   -j MARK --set-mark 0x80030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0  -d 10.0.0.228  -p tcp  --dport 29750   -j MARK --set-mark 0x80030001
iptables -D POSTROUTING -t mangle -o br0  -d 10.0.0.228  -p udp  --dport 29750   -j MARK --set-mark 0x80030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0  -d 10.0.0.228  -p udp  --dport 29750   -j MARK --set-mark 0x80030001
iptables -D POSTROUTING -t mangle -o eth0  -s 10.0.0.228  -p tcp  --sport 29750   -j MARK --set-mark 0x40030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0  -s 10.0.0.228  -p tcp  --sport 29750   -j MARK --set-mark 0x40030001
iptables -D POSTROUTING -t mangle -o eth0  -s 10.0.0.228  -p udp  --sport 29750   -j MARK --set-mark 0x40030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0  -s 10.0.0.228  -p udp  --sport 29750   -j MARK --set-mark 0x40030001
iptables -D POSTROUTING -t mangle -o br0  -d 10.0.0.65/29      -j MARK --set-mark 0x80040001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0  -d 10.0.0.65/29      -j MARK --set-mark 0x80040001
iptables -D POSTROUTING -t mangle -o eth0  -s 10.0.0.65/29      -j MARK --set-mark 0x40040001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0  -s 10.0.0.65/29      -j MARK --set-mark 0x40040001
appdb rules: <000000>6<0D0086>5<0D00A0>5<12003F>4<1A****>5<1400C5>0<00006B>4<0D0007>0<13****>4<14****>4
realtc filter del dev br0 parent 1: prio 2 > /dev/null 2>&1
realtc filter del dev eth0 parent 1: prio 2 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 2 u32 match mark 0x80000000 0xc000ffff flowid 1:15
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x40000000 0xc000ffff flowid 1:15
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0086 0xc03fffff flowid 1:17
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0086 0xc03fffff flowid 1:17
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D00A0 0xc03fffff flowid 1:17
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D00A0 0xc03fffff flowid 1:17
realtc filter add dev br0 protocol all prio 20 u32 match mark 0x8012003F 0xc03fffff flowid 1:14
realtc filter add dev eth0 protocol all prio 20 u32 match mark 0x4012003F 0xc03fffff flowid 1:14
realtc filter del dev br0 parent 1: prio 2 > /dev/null 2>&1
realtc filter del dev eth0 parent 1: prio 2 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 2 u32 match mark 0x801A0000 0xc03f0000 flowid 1:17
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x401A0000 0xc03f0000 flowid 1:17
realtc filter add dev br0 protocol all prio 22 u32 match mark 0x801400C5 0xc03fffff flowid 1:10
realtc filter add dev eth0 protocol all prio 22 u32 match mark 0x401400C5 0xc03fffff flowid 1:10
realtc filter add dev br0 protocol all prio 2 u32 match mark 0x8000006B 0xc03fffff flowid 1:14
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x4000006B 0xc03fffff flowid 1:14
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0007 0xc03fffff flowid 1:10
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0007 0xc03fffff flowid 1:10
realtc filter del dev br0 parent 1: prio 22 > /dev/null 2>&1
realtc filter del dev eth0 parent 1: prio 22 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 22 u32 match mark 0x80130000 0xc03f0000 flowid 1:14
realtc filter add dev eth0 protocol all prio 22 u32 match mark 0x40130000 0xc03f0000 flowid 1:14
realtc filter del dev br0 parent 1: prio 23 > /dev/null 2>&1
realtc filter del dev eth0 parent 1: prio 23 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 23 u32 match mark 0x80140000 0xc03f0000 flowid 1:14
realtc filter add dev eth0 protocol all prio 23 u32 match mark 0x40140000 0xc03f0000 flowid 1:14
 

dave14305

Part of the Furniture
@dave14305
In fresh jr script, i read some post for qos to be last one to start in firewall-start
To check this, uninstalled flex and installed again and it always places above firewall, does it make any difference or it's fine as it's showing in spoiler below
#!/bin/sh
sh /jffs/addons/flexqos/flexqos.sh -start $1 & # FlexQoS Ad>sh /jffs/scripts/firewall start skynetloc=/tmp/mnt/USB/skyn>
I wrote it so that if Skynet is present, it will launch in the background before Skynet starts, because on my slower AC68U, Skynet can take 40 seconds to start, and I don’t see any problems starting before Skynet since we change the mangle table and Skynet changes the raw table.

The goal is to get QoS setup as soon as possible. ;)
 

dave14305

Part of the Furniture
Another one...
I defined speedtest to go to net control.
On the list, it shows it as red category.
However, on the pie, it is being shown as web traffic. As you can notice, only a couple of Kbs on net control.
Note that I am currently doing a speedtest when I took the screenshot.

https://i.ibb.co/p414t47/Screenshot-20200626-004325502.png

Code:
adminRT-AC86U/tmp/home/root flexqos -debug                                                                                                            
FlexQoS v0.6 released 06/25/2020

Debug:

Undf Prio: 2
Undf FlowID: 1:15
Classes Present: 8
Down Band: 40550
Up Band  : 9728
***********
Net Control = 1:10
Work-From-Home = 1:12
Gaming = 1:11
Others = 1:15
Web Surfing = 1:14
Streaming = 1:13
Downloads = 1:17
Defaults = 1:16
***********
Downrates -- 2027, 6082, 8110, 12165, 4055, 4055, 2027, 2027
Downceils -- 40550, 40550, 40550, 40550, 40550, 40550, 40550, 40550
Downbursts -- 3198b, 9597b, 4797b, 3196b, 3198b, 3198b, 3198b, 3199b
DownCbursts -- 49582b, 49582b, 49582b, 49582b, 49582b, 49582b, 49582b, 49582b
***********
Uprates -- 486, 1459, 1945, 972, 972, 2918, 486, 486
Upceils -- 9728, 9728, 9728, 9728, 9728, 9728, 9728, 9728
Upbursts -- 3198b, 3198b, 3198b, 3198b, 3198b, 3198b, 3198b, 3198b
UpCbursts -- 11196b, 11196b, 11196b, 11196b, 11196b, 11196b, 11196b, 11196b
iptables settings: <>>udp>>500,4500>>3<>>udp>16384:16415>>>3<>>tcp>>119,563>>5<>>tcp>>80,443>08****>7<10.0.0.228>>both>29750>>>5<10.0.0.65/29>>both>>>>2
iptables -D POSTROUTING -t mangle -o br0   -p udp  -m multiport  --sports 500,4500  -j MARK --set-mark 0x80060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0   -p udp  -m multiport  --sports 500,4500  -j MARK --set-mark 0x80060001
iptables -D POSTROUTING -t mangle -o eth0   -p udp  -m multiport  --dports 500,4500  -j MARK --set-mark 0x40060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0   -p udp  -m multiport  --dports 500,4500  -j MARK --set-mark 0x40060001
iptables -D POSTROUTING -t mangle -o br0   -p udp  --dport 16384:16415   -j MARK --set-mark 0x80060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0   -p udp  --dport 16384:16415   -j MARK --set-mark 0x80060001
iptables -D POSTROUTING -t mangle -o eth0   -p udp  --sport 16384:16415   -j MARK --set-mark 0x40060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0   -p udp  --sport 16384:16415   -j MARK --set-mark 0x40060001
iptables -D POSTROUTING -t mangle -o br0   -p tcp  -m multiport  --sports 119,563  -j MARK --set-mark 0x80030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0   -p tcp  -m multiport  --sports 119,563  -j MARK --set-mark 0x80030001
iptables -D POSTROUTING -t mangle -o eth0   -p tcp  -m multiport  --dports 119,563  -j MARK --set-mark 0x40030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0   -p tcp  -m multiport  --dports 119,563  -j MARK --set-mark 0x40030001
iptables -D POSTROUTING -t mangle -o br0   -p tcp  -m multiport  --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x803f0001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0   -p tcp  -m multiport  --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x803f0001
iptables -D POSTROUTING -t mangle -o eth0   -p tcp  -m multiport  --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x403f0001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0   -p tcp  -m multiport  --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x403f0001
iptables -D POSTROUTING -t mangle -o br0  -d 10.0.0.228  -p tcp  --dport 29750   -j MARK --set-mark 0x80030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0  -d 10.0.0.228  -p tcp  --dport 29750   -j MARK --set-mark 0x80030001
iptables -D POSTROUTING -t mangle -o br0  -d 10.0.0.228  -p udp  --dport 29750   -j MARK --set-mark 0x80030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0  -d 10.0.0.228  -p udp  --dport 29750   -j MARK --set-mark 0x80030001
iptables -D POSTROUTING -t mangle -o eth0  -s 10.0.0.228  -p tcp  --sport 29750   -j MARK --set-mark 0x40030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0  -s 10.0.0.228  -p tcp  --sport 29750   -j MARK --set-mark 0x40030001
iptables -D POSTROUTING -t mangle -o eth0  -s 10.0.0.228  -p udp  --sport 29750   -j MARK --set-mark 0x40030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0  -s 10.0.0.228  -p udp  --sport 29750   -j MARK --set-mark 0x40030001
iptables -D POSTROUTING -t mangle -o br0  -d 10.0.0.65/29      -j MARK --set-mark 0x80040001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0  -d 10.0.0.65/29      -j MARK --set-mark 0x80040001
iptables -D POSTROUTING -t mangle -o eth0  -s 10.0.0.65/29      -j MARK --set-mark 0x40040001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0  -s 10.0.0.65/29      -j MARK --set-mark 0x40040001
appdb rules: <000000>6<0D0086>5<0D00A0>5<12003F>4<1A****>5<1400C5>0<00006B>4<0D0007>0<13****>4<14****>4
realtc filter del dev br0 parent 1: prio 2 > /dev/null 2>&1
realtc filter del dev eth0 parent 1: prio 2 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 2 u32 match mark 0x80000000 0xc000ffff flowid 1:15
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x40000000 0xc000ffff flowid 1:15
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0086 0xc03fffff flowid 1:17
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0086 0xc03fffff flowid 1:17
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D00A0 0xc03fffff flowid 1:17
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D00A0 0xc03fffff flowid 1:17
realtc filter add dev br0 protocol all prio 20 u32 match mark 0x8012003F 0xc03fffff flowid 1:14
realtc filter add dev eth0 protocol all prio 20 u32 match mark 0x4012003F 0xc03fffff flowid 1:14
realtc filter del dev br0 parent 1: prio 2 > /dev/null 2>&1
realtc filter del dev eth0 parent 1: prio 2 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 2 u32 match mark 0x801A0000 0xc03f0000 flowid 1:17
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x401A0000 0xc03f0000 flowid 1:17
realtc filter add dev br0 protocol all prio 22 u32 match mark 0x801400C5 0xc03fffff flowid 1:10
realtc filter add dev eth0 protocol all prio 22 u32 match mark 0x401400C5 0xc03fffff flowid 1:10
realtc filter add dev br0 protocol all prio 2 u32 match mark 0x8000006B 0xc03fffff flowid 1:14
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x4000006B 0xc03fffff flowid 1:14
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0007 0xc03fffff flowid 1:10
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0007 0xc03fffff flowid 1:10
realtc filter del dev br0 parent 1: prio 22 > /dev/null 2>&1
realtc filter del dev eth0 parent 1: prio 22 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 22 u32 match mark 0x80130000 0xc03f0000 flowid 1:14
realtc filter add dev eth0 protocol all prio 22 u32 match mark 0x40130000 0xc03f0000 flowid 1:14
realtc filter del dev br0 parent 1: prio 23 > /dev/null 2>&1
realtc filter del dev eth0 parent 1: prio 23 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 23 u32 match mark 0x80140000 0xc03f0000 flowid 1:14
realtc filter add dev eth0 protocol all prio 23 u32 match mark 0x40140000 0xc03f0000 flowid 1:14
I did a speedtest.net and the traffic actually transferred on an 8080 HTTP port via my ISP “cache” even though I had some traffic as Speedtest. Need to see the whole picture. It’s hard to be 100% certain which connection has the traffic.
upload_2020-6-25_20-1-22.png
 

MysticGold04

Regular Contributor
So, I also have some xbox traffic that is showing up in others as untracked. I can tell its the xbox because of the filter per IP and name. I want to move it to either gaming (preferrably) or another category. Is there a way to do that?
 

QuikSilver

Very Senior Member
So, I also have some xbox traffic that is showing up in others as untracked. I can tell its the xbox because of the filter per IP and name. I want to move it to either gaming (preferrably) or another category. Is there a way to do that?
Set the ip of the xbox to the gaming category. For example 192.168.1.142/32 under Local IP/CIDR section and category as gaming. That should put everything from xbox under gaming.
 

dave14305

Part of the Furniture
Set the ip of the xbox to the gaming category. For example 192.168.1.142/32 under Local IP/CIDR section and category as gaming. That should put everything from xbox under gaming.
To conserve space in the rules variable, you can omit the /32 for a single IP. I’m not aware of any downsides.
 

QuikSilver

Very Senior Member
To conserve space in the rules variable, you can omit the /32 for a single IP. I’m not aware of any downsides.
Thanks, gonna clean up a few old rules then.
 

dave14305

Part of the Furniture
Ohh all good I thought broke something lol here I am thinking my old age is setting in lol.

But thank you for that it works now, GUI shows up, I did the migration but the "rate" error is still appearing in the logs is there anything I can do on my end to fix it?

My AX88U doesn't have the work from home or learn form home yet so I wonder if that's the issue.
I missed this post in the flurry of activity this morning. Yes, this could be the reason. Until the AX models get the new categories, behavior is unpredictable. I might have to come up with a kludge. Will think about it tomorrow. Good night all.
 

Vexira

Part of the Furniture
I missed this post in the flurry of activity this morning. Yes, this could be the reason. Until the AX models get the new categories, behavior is unpredictable. I might have to come up with a kludge. Will think about it tomorrow. Good night all.
All good sleep well.
 

Therion87

Regular Contributor
Is there a new recommended QoS traffic priority list with the new categories and changes made?
 

mbze430

Regular Contributor
I missed this post in the flurry of activity this morning. Yes, this could be the reason. Until the AX models get the new categories, behavior is unpredictable. I might have to come up with a kludge. Will think about it tomorrow. Good night all.
I am on the AX88U on the Beta1 firmware and it does have Work-From-Home, I don't see Learn-From-Home though
 

raion969

Regular Contributor
which priority do you recommended for traffic priority, but only for gaming(cs go and also the same time stream with obs streamlabs and also speak with Teamspeak) but ofc i want that the gaming pakets to sends first :D so gaming highest priority.
 

dave14305

Part of the Furniture
I am on the AX88U on the Beta1 firmware and it does have Work-From-Home, I don't see Learn-From-Home though
But do they appear here, or just in the FlexQoS tab?

upload_2020-6-26_9-45-0.png
 

QuikSilver

Very Senior Member
Nothing wrong @dave14305 but wanted to bring this to your attention. Running flexqos -update when already on latest version shows this. No biggy in the grand scheme of things.
upload_2020-6-26_12-2-20.png
 

Sign Up For SNBForums Daily Digest

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