ThiagoCururu
New Around Here
1.176
Dumb question, but will this help with Discord traffic being flagged as General rather than VOIP? It doesn’t sound as though there’s an easy way to manually flag Discord traffic based on ports: https://www.reddit.com/r/discordapp/comments/4g3179/is_there_a_way_to_make_discord_not_use_random/
According to the Reddit post, discord marks its packets with a special value in the (tos,dscp) ip header. Sniff it's traffic using wireshark or whatever you prefer. If you find what value they are marking packets I can prepare a rule.
Thanks for that. Is this what you are after:
We already send the QoS headers to your router - you shouldn't need to set this up if your router already respects DSCP mark with a value of 0x38 or 802.1p tag with a value of 7 - which is the real time VOIP QoS packet flow priority.
From another reddit post https://www.reddit.com/r/discordapp..._on_router_making_a_rule_for_discord/d942b4r/
Also i want to rule out congestion, if your an aussie like me late at night you ping can shoot up alot if your area is prone to network congestion, usually in the arvo but during the day its fine, seems to be the case for me atleast. Also make sure adaptive qos is set to game mode, might help.
@ThiagoCururu you are almost there.
Your QOS limits are set too high. You have to input percentages of your actual max upload/download bandwidth into the the webui until you don't get any bufferbloat no matter the network load. Read a few pages back and I showed an example of a speedtest simultaneously with the routers ping test.
Try limiting to 90% off the bat and see what happens.
As to the game updates/download being recognized as gaming traffic, I feel ur pain. I wish it didn't do that. Last time rmerlin said he pulled some values corresponding to qos from the qos definitions database. I tried opening that database a while back couldn't. If someone does manage to open it, maybe traffic identification can really be finely tweaked.
I don't have latency spikes any time of the day, unless there's YouTube or Netflix traffic.
The last config before that script was Gaming > VOIP > Others > Web Surfing > Streaming > Files
As I mentioned on my first message, I already did that limit on manual bandwidth. I pay for a 50/25 connection, but on dslreports it showed 51.23 and 26.1 speeds. I already limit it to 43/20 (85% and 80%).
Tomorrow I'll do a factory reset to rule out any other mistake I might have done. I'll leave all options on default and test, then script and test.
Thanks for helping so far.
${tc} filter add dev br0 protocol all prio 22 u32 match mark 0x80130000 0x803f0000 flowid ${Web}
${tc} filter add dev eth0 protocol all prio 22 u32 match mark 0x40130000 0x403f0000 flowid ${Web}
Looking to deploy this script, but unsure on what percentages to use to replicate this setup. Can someone help?
View attachment 10148
Thanks, that explains it nicely! I will start with percentages for categories I know what minimums I want to guarantee, and go from there!Percents in the script are guaranteed minimum bandwidths for each catagory. But remember that each category will NOT be using all of its guaranteed bandwidth continuously.
This now excess bandwidth, from the unused but guaranteed rates, will get offered from TOP to BOTTOM again in the order you have setup in your image. If that individual class needs some of that guaranteed bandwidth, there will be less bandwidth to offer from TOP to BOTTOM in your image.
With this setup the class percentages DO NOT correlate class priority. The class priority, in your image, will still be very much in effect. Go through the examples on the first page I have written out. The process should become very clear since its not a complicated process.
As for your question as to the value for the minimum percentages you should define, just choose what you feel is an important amount of bandwidth to guarantee to each category. Really, the percentages don't matter too much since the classes not using their minimums will offer their unused bandwidth from TOP to BOTTOM. The percentages just matter for you to guarantee which class will have how much bandwidth accessible, at a minimum, at all times. This allows you to guarantee being able to view stream at 10mbps at all times, or whatever you decide. The order in your image, pertains to EXCESS bandwidth from unused minimums. There will be EXCESS bandwidth offered 99.999% of the time.
Thanks, that explains it nicely! I will start with percentages for categories I know what minimums I want to guarantee, and go from there!
Well versed in Linux scripting so you won't be getting complaints from me about things not working, for those reasons anyway!Remember for no issues:
No spaces before or after the equals.
No decimals in the desired percents
Read the part in the first post about requiring Notepad++, with a Linux EOL setting, to properly save the script in a router readable format.
All running, seems good! Are these anything to be concerned with? Or just warnings that can be safely ignored?Remember for no issues:
No spaces before or after the equals.
No decimals in the desired percents
Read the part in the first post about requiring Notepad++, with a Linux EOL setting, to properly save the script in a router readable format.
Aug 18 22:10:01 kernel: HTB: quantum of class 10011 is big. Consider r2q change.
Aug 18 22:10:01 kernel: HTB: quantum of class 10012 is big. Consider r2q change.
Aug 18 22:10:01 kernel: HTB: quantum of class 10013 is big. Consider r2q change.
Aug 18 22:10:01 kernel: HTB: quantum of class 10015 is big. Consider r2q change.
Aug 18 22:10:01 kernel: HTB: quantum of class 10016 is big. Consider r2q change.
read a few posts back on what wicked shrapnel wrote, but here it is for convenice:All running, seems good! Are these anything to be concerned with? Or just warnings that can be safely ignored?
Code:Aug 18 22:10:01 kernel: HTB: quantum of class 10011 is big. Consider r2q change. Aug 18 22:10:01 kernel: HTB: quantum of class 10012 is big. Consider r2q change. Aug 18 22:10:01 kernel: HTB: quantum of class 10013 is big. Consider r2q change. Aug 18 22:10:01 kernel: HTB: quantum of class 10015 is big. Consider r2q change. Aug 18 22:10:01 kernel: HTB: quantum of class 10016 is big. Consider r2q change.
isn't that how he got FQ_Codel and Codel working, leaving it up to someone to work out how to patch in hfsc and possibly cake if a compatible version exists, I did read the cake guys were trying to make it work with as many kernel versions as possible, if I can find a way to contact them ill ask them if they could possibly create a compatible version at worst they will just say no.The quantum is just a warning. Your internet speed is so fast that the calculated quantum is so large that it freaks out and gives you a false warning.
Correct on your rule functionality.
For r2q explanation read this post from 2 pages back. In short, its not an error!
https://www.snbforums.com/threads/r...-and-inner-workings.36836/page-12#post-341122
But rather your internet faster than it expects.
Try following this analogy:
Think of quantum as the size of food bites you are eating. Think of your internet speed as to how fast you can eat. To not be scooping little food pebbles one at a time super fast with your spoon, you simply can change quantum and eat bigger chunks of food.
TC automatically calculates quantum based on rate. The resulting quantom was food expected to be measured in the size from pebbles to rocks. Now a days, some peoples internet is so fast that the calculated value amounts to them eating boundlers with a backhoe.
Just a warning letting you know that you are eating boulders.
What this means is that the granularity of qos bandwidth allocation is course (boulder size). In reality, the bandwidth rates are fast that the coarseness of the food size is not an issue.
It is not a problem for you to start eating pebbles again and just shovel your spoon at a significantly faster rate. This would reintroduce more granularity.
This r2q variable to compute quantum based on rate is defined within the TC application. You would have to recompile your own version if you want to change the auto calculated quantum values.
Merlin has a TC interposer to modify commands sent to ASUS's TC and forward them to his version of TC. This would allow you to change quantoms without recompiling TC. If you modify his interposer functionality you can manually define quantum for each class instead of using the calculated values based on r2q.
The interposer is located in /usr/sbin/faketc
I am not going to be changing variables at this level. Feel free to experiment
Welcome To SNBForums
SNBForums is a community for anyone who wants to learn about or discuss the latest in wireless routers, network storage and the ins and outs of building and maintaining a small network.
If you'd like to post a question, simply register and have at it!
While you're at it, please check out SmallNetBuilder for product reviews and our famous Router Charts, Ranker and plenty more!