What's new

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

@dave14305 What does this portion do? It seems to point to another page hosted on the router but it doesnt work for me.

Code:
Advanced configuration available via:
http://RT-AC86U-AEA8.:80/user10.asp
Yeah, I tried to get fancy to show a customized URL to the page where the UI is mounted. I didn't account for people who don't set a domain name. It was a bell (or whistle) that was only half-finished.
 
Sure, but if you have only https enabled, then I want the URL to my Pixelserv certificate domain name. I can take the simple and make it very complicated. :(

Anyway, it's time to start drinking here in the Eastern timezone. Thanks everyone for your support!
True - i think http_mode or something determines what mode httpd uses
 
Hey Dave!

The screenshot is pretty self explained ☺️
 

Attachments

  • Screenshot_20200625-224446264_1.jpg
    Screenshot_20200625-224446264_1.jpg
    50 KB · Views: 260
Yes, it explains I might need new glasses. Can you post a better resolution?
Oh crap, sorry I haven't noticed that the forum reduced so much the resolution :)
https://i.ibb.co/y0s2f3t/Screenshot-20200625-224446264-1.jpg

I defined DoT to go to Net Control and it's going to Web traffic
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<00006B>6<0D0007>5<0D0086>5<0D00A0>5<12003F>4<13****>4<14****>4<1A****>5<1400C5>0
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 2 u32 match mark 0x8000006B 0xc03fffff flowid 1:15
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x4000006B 0xc03fffff flowid 1:15
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0007 0xc03fffff flowid 1:17
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0007 0xc03fffff flowid 1:17
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 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
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
 
@dave14305
I set two devices on gaming rule for non 80,443 ports but it's not showing any rule applied, showing it untracked just, shouldn't it show like Game Rule(untracked) or something like this
Screenshot_20200626-032958__01.jpg
Screenshot_20200626-033031.jpg
Screenshot_20200626-032925__01.jpg
 
A workaround is to hit the change button next to the 14**** rule, and re-add it to the bottom, under your DoT rule. I have to think a lot about how to resolve this permanently.
Ohhh I see, it's a matter of scope....
Well, when some rule without asterisks exists, it must be applied in the first place.
 
@dave14305
I set two devices on gaming rule for non 80,443 ports but it's not showing any rule applied, showing it untracked just, shouldn't it show like Game Rule(untracked) or something like this
Custom rule naming is not yet available in this version. It will come in a later version once I get a good idea how to do it. :) Having more than 4 rules possible changes so much about the previous design of FreshJR that it will be more complicated.
 
Custom rule naming is not yet available in this version. It will come in a later version once I get a good idea how to do it. :) Having more than 4 rules possible changes so much about the previous design of FreshJR that it will be more complicated.
Thanks
Is there anyway to confirm that it hit the set rule using ssh?
Secondly, is there a way to confirm if wan overhead value is properly implemented??
Thanks for helping
 
Thanks
Is there anyway to confirm that it hit the set rule using ssh?
Secondly, is there a way to confirm if wan overhead value is properly implemented??
Thanks for helping
You can run:
Code:
iptables -t mangle -nvL POSTROUTING
and look at the counters next to each rule. If both are zero, it is not yet used (since last firewall restart).

You can see the overhead listed when you run:
Code:
tc class show dev eth0
The script doesn’t modify it, it just reads it from nvram when we change the min/max download/upload rates.
 
Would it be possible to add a "Status" & "Restart" option to Flexqos command line menu? My business case rational :) I performed the "flexqos -update" but accidentally entered other data to the "Yes or No to restart QoS and on Flexqos update went to completion (didn't halt/stop waiting for either a "Yes or No").
1). Wanted to check operational & installed status, but couldn't see how to produce a succinct output.
2). As per Flexqos message to restart QoS, couldn't figure out how. Did another (forced) update to restart QoS.
upload_2020-6-25_19-8-24.png
 
Ohhh I see, it's a matter of scope....
Well, when some rule without asterisks exists, it must be applied in the first place.
Since FlexQoS is so “flexible” I am now experimenting with new iptables rules to replace the AppDB rules for 13**** and 14**** (both deleted).

Try adding my last 2 80,443 rules to the bottom of your list, and deleting the AppDB rules I mentioned. See how it works.
upload_2020-6-25_19-8-45.jpeg
 
Would it be possible to add a "Status" & "Restart" option to Flexqos command line menu? My business case rational :) I performed the "flexqos -update" but accidentally entered other data to the "Yes or No to restart QoS and on Flexqos update went to completion (didn't halt/stop waiting for either a "Yes or No").
1). Wanted to check operational & installed status, but couldn't see how to produce a succinct output.
2). As per Flexqos message to restart QoS, couldn't figure out how. Did another (forced) update to restart QoS.
Valid points. Those prompts are leftover from FreshJR. Eventually I will implement updates through the GUI, but I’ll put it on my list. I’m not good with menu driven systems, so I’m going for minimalism.;)
 
Last edited:
Since FlexQoS is so “flexible” I am now experimenting with new iptables rules to replace the AppDB rules for 13**** and 14**** (both deleted).

Try adding my last 2 80,443 rules to the bottom of your list, and deleting the AppDB rules I mentioned. See how it works.View attachment 24285
So far so good!

No udp?

Edit- had to revert it. So much"SSL/TLS" and "Let's encryptt"going through net control . One of them is a webserver I have in port 8443
 
Last edited:
So.. newbie to all of this here, how would I force DoT to go to NetControl like you have @maghuro ?
 
So far so good!

No udp?

Edit- had to revert it. So much"SSL/TLS" and "Let's encryptt"going through net control . One of them is a webserver I have in port 8443
Ok, you could add 8443 to the rule also. It’s just fun to experiment without the hard-coded rules.
 

Sign Up For SNBForums Daily Digest

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