What's new

[Release] FreshJR Adaptive QOS (Improvements / Custom Rules / and Inner workings)

  • 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.
I just want to say thank you Fresh for this. Its the perfect tool for making adaptive QOS incredible.

I thought I would mention some other observations. Im aware that less rules are better and out of curiosity to what changes if any trend micro has made, I made a special version of the "compatible" with all rules comented out except for my 2 gaming ones at $1 priority setting going into "others". With "others set at top priority and the rest placed where you would naturally want them i noticed HUGE like -10-15 ms improvement in gaming pings and super stable. Like so stable I couldnt get them up more than 3 to 5 while torrenting on 2 pcs and watching netflix usuing all available bandwidth!!

I have a couple theories on this that needs more testing when I get home.

1. Too many rules at $1 decreasing efficiency of the rules?

2. Or possibly something moved out of netcontrol was preventing stable or high performance operation.

I need to play with it much more to determine which if either of those gave this effect but I can say its all super snappy and the pings dont budge at all like this.
 
Less is more. I use the script with the 4 additional prio1 rules as posted on the first page.

What 4 additional prio1 rules means is 400% of extra work sorting heavy hitting traffic like torrents, downloads, or streaming.
This incremental extra sorting work quickly diminishes down to 10% or less additional work for any traffic after prio8.

This means you shouldn't really be worried about the performance impact at all of the "AppAnalysis" redirection rules since 10% is insignificant.
As for prio1 rules, just keep those to an absolute minimum, 5-6 shouldn't be noticeable, but you need as many as circumstances dictact.

As for your observations, what you are observing is just statistical deviation.

I get 4ms ping with +5-10ms buffer bloat to close servers.
What these results means the adaptiveQOS is adding at MOST 4ms of latency to your non-QOS ping. I doubt it's even close to 4ms of processing time.

To really test the effect of processing time, you can add 50 or so prio 1 rules that will never match and see if it causes a noticeable impact with you simultaneously are running a large file transfer. If you do not notice and impact then don't worry about it at all.

I haven't tested anything in this area besides the "less is more" recommendation since regardless of the additional cpu load / processing time I needed VOIP @ prio1 no matter what for my own use case. Besides that, the default configuration is pretty light in that area.
 
Last edited:
Ive had this running for a week.
Seems ok.
But noticed gaming is very low even though im gaming quite a bit.
Does this mean its in "others"?
What do i have to do to get my games console as ultimate top priority?...or game traffic?
thanks
 
Ive had this running for a week.
Seems ok.
But noticed gaming is very low even though im gaming quite a bit.
Does this mean its in "others"?
What do i have to do to get my games console as ultimate top priority?...or game traffic?
thanks
If you turn on apps analasys and see your gaming thruput listed as "general" then yea this is redirecting it into the "others" container.
 
If you turn on apps analasys and see your gaming thruput listed as "general" then yea this is redirecting it into the "others" container.

Not exactally. The gaming rule will redirect "general/unidentified" into gaming instead of others for clients within a specified iprange.

@el pescador Make sure the cidr ip range in the gaming rule matches the dhcp ip assignments of your gaming devices. That rule also has to be enabled by removing the comment. If it is green it is ignored.

All template rules have been thoroughly tested. I just retested the rule to be sure.

gaming_rule.png



But yes, check where the traffic is going via app analysis. Maybe instead of unidentified (general in app analysis) it instead is misidentified as a different type traffic.

If it is misidentified you should be able to create a custom rule for a specific game if it's important to you. There are a lot of templates examples to cobble together a working rule.
 
Last edited:
Thanks.
Thinking about it though.....maybe its not a bad idea having some gaming traffic (specifically file transfers) being split from normal and others.
atm i put others as top.
i know this may be sharing that spot with other data from other devices.

my dhcp is 192.168.2.1.
console is 192.168.2.165

what line do i have to change?
 
Thanks.
Thinking about it though.....maybe its not a bad idea having some gaming traffic (specifically file transfers) being split from normal and others.
atm i put others as top.
i know this may be sharing that spot with other data from other devices.

my dhcp is 192.168.2.1.
console is 192.168.2.165

what line do i have to change?
Line 86, uncomment (delete the # at the beginning of the line) and change the IP from 192.168.1.100/30 to 192.168.2.165/32

And do the same for lines 111-112 (also remove the # from both).

Also, what game(s) are you playing? Can help you with some ports.
 
Last edited:
Line 86, uncomment (delete the # at the beginning of the line) and change the IP from 192.168.1.100/30 to 192.168.2.165/32

And do the same for lines 111-112 (also remove the # from both).

Also, what game(s) are you playing? Can help you with some ports.
Thanks.
I play fifa mainly.
Server based games and the p2p based ones.
 
maybe its not a bad idea having some gaming traffic (specifically file transfers) being split from normal and others.

That was the idea with the gaming rules I introduced.

"Gaming" Traffic from port 80 or 443 will go into "Downloads".
Usually port 80/443 is not actual "Gaming" traffic but rather "Game downloads & patches"
 
Just observe it via app analysis first.

There's a good chance it's either already identified as gaming or unidentifed and now redirected to gaming.

Why introduce duplicate rules.

A rule filtering on the port range listed for the PS4 version of FIFA would also end up ignoring the gaming traffic on 80/443 -> "download" redirect rules.

This is because console downloads also occur on those listed ports so theFIFA port rule would also be triggered first by any console downloads, reducing gaming QOS effectiveness.

Less is really more.
 
Last edited:
@FreshJR I noticed the script includes 192.168.1.1 in the lines as default. My router ip is set to 192.168.2.1, should I change/reflect that on all the script to be 192.168.2.1 only? Thanks,
 
@FreshJR I noticed the script includes 192.168.1.1 in the lines as default. My router ip is set to 192.168.2.1, should I change/reflect that on all the script to be 192.168.2.1 only? Thanks,

in which lines??

Anything green in the header is simply an example or reference. It is completely ignored while the script is running and is only there for your information.

Further down, in the actual rule area there are also NO IP specific rules enabled by default!

If you look closer, there are 3 IP specific gaming lines present in this area, but they aswell are commented out/IGNORED by default.

The supplied script was intended to be universal. Any user specific customization has to actively be enabled by the user.

--

EDIT: By "green" I meant if viewed via an editor like Notepad++

https://s18.postimg.org/vi784mbbd/script.png

(Anything green is ignored)
 
Last edited:
@FreshJR I noticed the script includes 192.168.1.1 in the lines as default. My router ip is set to 192.168.2.1, should I change/reflect that on all the script to be 192.168.2.1 only? Thanks,

if your referring to the PSCP install line or the gaming rules then yes they need to match your routers ip/connected devices ip if you've changed it.. default is 192.168.1.1.
 
@FreshJR
@Sinner I meant the fowling lines showing here...

The lines preceded by an "#" character mean they are fully ignored while running or they are simply comments.

See the image below , as it will be a lot clearer as to what lines actually do something within the script.

script.png


(anything green is fully ignored or simply "does not exist" while the program is running)

Edit:
I just made an addition to the first post recommending Notepad++ if editing the script.
 
Last edited:
@FreshJR Thank you, I've learned a lot from this thread and the script's awesome functionality has been a great catalyst for the learning process. Appreciated.
 
Last edited:
one more thing I'd like to learn. Lets say I wanted to replace the "iTunes" rule that by default goes into streaming. I already have the rule at $1 moving it to download but if I wanted to actually replace the existing rule I think similar to what you did with the 22/23 removals, would I go about it the same way? And how can I tell what the priority of the "iTunes" rule is in there?

cat /tmp/bwdpi/bwdpi.app.db | grep -i "iTunes"

reports this but I don't think that's the priority:
4,10,0,iTunes
4,55,0,iTunes Festival

I guess what I'm asking and is how on earth did you discover the 22/23 rules were 22/23?
 
one more thing I'd like to learn. Lets say I wanted to replace the "iTunes" rule that by default goes into streaming. I already have the rule at $1 moving it to download but if I wanted to actually replace the existing rule I think similar to what you did with the 22/23 removals, would I go about it the same way? And how can I tell what the priority of the "iTunes" rule is in there?

cat /tmp/bwdpi/bwdpi.app.db | grep -i "iTunes"

reports this but I don't think that's the priority:
4,10,0,iTunes
4,55,0,iTunes Festival

I guess what I'm asking and is how on earth did you discover the 22/23 rules were 22/23?

Convert the first digit into hex and cross reference with tc filter show dev br0.

Or use this table

Code:
pref 1         LAN               mark 0x0000
pref 2         DEFAULT           mark 0x8000
pref 3         VOIP              mark 0x8000       (0)
pref 4         DOWNLOADS         mark 0x8001       (1)
pref 6         DOWNLOADS         mark 0x8003       (3)
pref 7         STREAMING         mark 0x8004       (4)
pref 8         VOIP              mark 0x8005       (5)
pref 9         VOIP              mark 0x8006       (6)
pref 10        OTHERS            mark 0x8007       (7)
pref 11        GAMING            mark 0x8008       (8)
pref 12        NET               mark 0x8009       (9)
pref 13        OTHERS            mark 0x800a       (10)
pref 14        OTHERS            mark 0x800b       (11)
pref 15        STREAMING         mark 0x800c       (12)
pref 16        WEB               mark 0x800d       (13)
pref 17        DOWNLOADS         mark 0x800e       (14)
pref 18        VOIP              mark 0x800f       (15)
pref 20        VOIP              mark 0x8011       (17)
pref 21        NET               mark 0x8012       (18)
pref 22        NET               mark 0x8013       (19)
pref 23        NET               mark 0x8014       (20)
pref 24        OTHERS            mark 0x8015       (21)
               **ADULT**                           (22)
pref 26        OTHERS            mark 0x8017       (23)
pref 27        WEB               mark 0x8018       (24)
               **ADVERTISMENT**                    (26)
pref 31        WEB               mark 0x801c       (28)
pref 32        WEB               mark 0x801d       (29)
pref 33        WEB               mark 0x801e       (30)
pref 34        WEB               mark 0x801f       (31)
pref 35        WEB               mark 0x8020       (32)
pref 36        WEB               mark 0x8021       (33)
pref 37        WEB               mark 0x8022       (34)
pref 38        WEB               mark 0x8023       (35)
pref 39        WEB               mark 0x8024       (36)
pref 40        WEB               mark 0x8025       (37)
pref 41        WEB               mark 0x8026       (38)
pref 42        WEB               mark 0x8027       (39)
pref 43        WEB               mark 0x8028       (40)
pref 44        WEB               mark 0x8029       (41)
pref 45        WEB               mark 0x802a       (42)
pref 46        WEB               mark 0x802b       (43)

A redirect rule is optimally set a 1 pref/prio lower that its current position. So iTunes redirect can be inserted anywhere at pref6 and below (with pref6 being most optimal)
 
Last edited:
Question regarding the wan overhead value for the following setup: Fiber router bridged with vlan to my Asus router and the internet connection has been configured from the Asus router as PPPoE with ISP logins credentials. Currently I have chosen the option Ethernet Vlan which is 4. Should I keep it this way or should I try another value for more optimized performance?
 
Status
Not open for further replies.

Latest threads

Sign Up For SNBForums Daily Digest

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