Help prioritizing games with alternative qdisc design

Agreed, as long as the mappings work. Cake got this scrambled relative to linux standard behavior. Diffserv4 treats as

diffserv4
Provides a general-purpose Diffserv implementation with four
tins:
Bulk (CS1), 6.25% threshold, generally low priority.
Best Effort (general), 100% threshold.
Video (AF4x, AF3x, CS3, AF2x, CS2, TOS4, TOS1), 50%
threshold.
Voice (CS7, CS6, EF, VA, CS5, CS4), 25% threshold.

So the cake handling of CS3 and CS2 and related classes is different from the WMM handling .. CS2 is bulk WMM and CS3 is BE but both are "video" to cake

Yes, I believe this partially because cake's definitions are not tailored for perfect fit with the arguably wrong default AC mappings. https://tools.ietf.org/html/rfc8325 for example recommends to put CS2 into AC_BE...
Realistically though, that ship has sailed and WMM default definitions will constrain any non compatible marking scheme severely.

As you said DSCPs are a mess :wink:

Ok, I think this thread is pretty long as is... I'm going to post a link to the github version of the script which will always be the most up to date one... @knomax can you accept this post as the answer to the thread and we can do a couple rounds of debugging and then voila it's all here for posterity?

To download the script, go to the above page, click the "raw" button, and then save the page as your script... voila

If you want to put the file directly to your router... log into the router and do:

cd /tmp
wget https://github.com/dlakelan/routerperf/raw/master/SimpleHFSCgamerscript.sh
2 Likes

Yes of course..i start now and will post instructions and for this newer script.

Thanks! I really appreciate all the work that @knomax did in private messages to test versions of this script on a very constrained and non-ideal line, including many hours of router reboots and packet captures. His games look smooth as butter now even though he has only 830kbps upload! It's quite amazing how much better this is than when we started! Thanks for the late nights testing... I am in California and he is in somewhere far away (Greece?) so this international effort should be celebrated!

Thanks @dlakelan i just "throw" an idea and you take it to "another" level without you this will just stay as an "idea".

Great work! This week is too busy for any testing as I have late nights of scheduled maintenance operations. I look forward to testing it this weekend possibly.

2 Likes

For who is this?

wrong thread lol . multiple tabs open

so all we do is install this script into the /tmp folder?

we still need to modify it to work with our own interface such as eth0.1 ?

Correct, download it to the tmp folder, then move it to someplace like /etc/qos.sh and modify it with your interfaces and rates and things... There's a new thread designed to describe how to use it Instructions how to create/copy/configure/run dlakelan Gamer QoS script (or any script)

5 Likes

i got lost on gamingip setup. i dont see that option anymore and on the other thread looks like we are going based on the old script.

so how do we setup our gaming ip?

GAMINGIPSET4="192.168.1.197"
GAMINGIPSET6="realtimeset6"

## set up your ipsets here:

ipset del 192.168.1.197 > /dev/null 2>&1
ipset del realtimeset6 > /dev/null 2>&1
ipset create 192.168.1.197 hash:ip || echo "ERROR: could not create r192.168.1.197 do you have ipsets working?"
ipset create realtimeset6 hash:ip family inet6 || echo "ERROR: could not create realtimeset6 do you have ipsets working?"

leave the script the way it was... and change this section, by adding your ips in the list of the "for" loop


## some examples to add your gaming devices to the realtime sets,
## allows you to have more than one console etc. Just add your ips
## into the list of ips in the for loop

for ip4 in 192.168.1.111 192.168.1.222; do
    ipset add realtimeset4 "$ip4"
done

for ip6 in fd01:0101::1 fd01:0101::2 ; do
    ipset add realtimeset6 "$ip6"
done

image

i believe something like this? both ip are for the same XBox One, one is ip4 and one is ip6

Yes, that's right, but the fd32:... address is a local only address. If you have ipv6 from your ISP you should put the address it has that starts with 2... that will be the public one.

if you don't have IPv6 from your ISP don't worry about it. just leave it.

1 Like

@dlakelan

got this error man

did you type "y" to allow it to continue?

Follow instructions....when prompt..type y

re everybody first impression the script is magic ^^

0 dropped packets the gameplay is fluid A+A+A+ i have changed too for my connection gameup and gamedown :slight_smile:

i have a simple question maybe stupid but is work for fifa Capture d’écran 2020-12-09 à 00.03.17

Capture d’écran 2020-12-08 à 23.49.23 Capture d’écran 2020-12-08 à 23.48.43 Capture d’écran 2020-12-08 à 22.50.09

For every game that uses udp traffic.

1 Like