What's new

Is it possible to do bandwidth limited and adaptive QoS at the same time ?

  • 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!

Here is a crude version of bandwidth limiting & adaptive QOS simultaneously.

Follow this guide, with this version of the script.

https://www.snbforums.com/threads/t...ements-custom-rules-and-inner-workings.36836/

I still need to modify the script so it bandwidth limits everything except net control packets, but medwatt has been sending me a PM everyday for the last two weeks asking me if its ready, so this is a rushed version. During the pscp step, make sure you use this updated name.

Edit:
It isn't immediately clear without reading the script so I will explicitly state what it does.
While the script has adaptive QOS and bandwidth limiter working together, they are not working simultaneously, instead the bandwidth limited traffic is just limited but NOT prioritized by category.

Simply put all traffic from bandwidth limited clients will be put into the last adaptive QOS category, which itself is bandwidth limited. That last QOS category does not contain unidentified traffic anymore, so now in essence you have bandwidth limiting being done for clients but their traffic is not category prioritized the same as non-limited traffic. It's a hybrid system where you get EITHER/OR.

Now with RMerlin's TC interposer, it is possible to permanently change the TC class structure, something which was locked down before. If you modify his interposer, you can create a fully meshed adaptive QOS & bandwidth limited system. I am not going to be looking into that modification right now as a more pressing issue exists within the existing QOS system I would like to fix. I will attach a picture of what needs to be done if someone wants to purse it themselves.

Top is original QOS
Middle is the hybrid implemented in my script
Bottom is what now is possible with the TC interposer
 

Attachments

  • FreshJR_QOS_v1_9_medwatt.txt
    16.9 KB · Views: 688
  • QOS.jpg
    QOS.jpg
    76.7 KB · Views: 654
Last edited:
Here is a crude version of bandwidth limiting & adaptive QOS simultaneously.

Follow this guide, with this version of the script.

https://www.snbforums.com/threads/t...ements-custom-rules-and-inner-workings.36836/

I still need to modify the script so it bandwidth limits everything except net control packets, but medwatt has been sending me a PM everyday for the last two weeks asking me if its ready, so this is a rushed version. During the pscp step, make sure you use this updated name.

Man, you've just called me out. Haha. Thanks.
 
For everyone who viewed this script, check previous post again.

I went into more detail since there was some confusion.
 
Here is a crude version of bandwidth limiting & adaptive QOS simultaneously.

Follow this guide, with this version of the script.

https://www.snbforums.com/threads/t...ements-custom-rules-and-inner-workings.36836/

I still need to modify the script so it bandwidth limits everything except net control packets, but medwatt has been sending me a PM everyday for the last two weeks asking me if its ready, so this is a rushed version. During the pscp step, make sure you use this updated name.
Hi @FreshJR,
Thanks for your script. I was looking at rate limiting IP's as well. Mainly to get the kids fortnite playing under control. They play while recording themselves, uploading and then watching on a second device all at high def. My ISP has monthly limits...

I noticed in the script, that IP ranges seem to be incorrect (as well as explanation on post 3 of inner-workings link)
The ip ranges have 6 in the 3rd octet. I think this should be 1 if the lan range is 192.168.1.1 with a subnet mask of 255.255.255.0. (default for my RT-AC88U)

Code:
192.168.1.100/32 = 192.168.6.100 - 192.168.6.100
192.168.1.100/30 = 192.168.6.100 - 192.168.6.103
192.168.1.100/28 = 192.168.1.96 - 192.168.1.111

This is also in the ratelimiting script:

${tc} filter add dev br0 protocol all prio 1 u32 match ip dst 192.168.6.32/28 flowid ${Default} #Template Rule 1 --INCOMMING TRAFFIC-- (All incomming traffic w/ LAN destination ip 192.168.1.100 g

iptables -D POSTROUTING -t mangle -o eth0 -s 192.168.6.32/28 -j MARK --set-mark ${BandwidthLimiter_mark} #Template Rule 1 WORKING ALTERNATIVE --OUTGOING TRAFFIC-- (Line1/2)
iptables -A POSTROUTING -t mangle -o eth0 -s 192.168.6.32/28 -j MARK --set-mark ${BandwidthLimiter_mark} #Template Rule 1 WORKING ALTERNATIVE --OUTGOING TRAFFIC-- (Line1/2)

Cheers
 

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

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