Page 1 of 1

QoS & ACK Priority

Posted: Sun Feb 06, 2011 1:06 pm
by sarbian
Hi,
I just switched to gargoyle and while I was testing the QoS I found that there was no special rules for ACK packet.
There is a few old post from 2009 where you said that there is an hidden class for ACK, but I can't find it.

It seems that is was removed in a patch a long time ago ( Git diff ).
Is this an oversight or did I miss something ?

( sorry for my poor english skills ^^ )

Re: QoS & ACK Priority

Posted: Sun Feb 06, 2011 2:27 pm
by pbix
Back in 2009 there was such a hidden class but with the QoS redesign there is no longer such a class.

If you desire such a class you can add it yourself but I have not be convinced that there is any merit in such a class.

Re: QoS & ACK Priority

Posted: Mon Feb 07, 2011 10:49 am
by sarbian
I have a DSL line with 10Mb Down & 1Mb up
When I upload some data at full speed and try to download someting at the same time my download won't go over 3Mb . If I add a class to let ACK have priority then I can download & upload at full speed at the same time.

I really like the active congestion control of Gargolye, so I ll add the class myself.

Thanks for the reply.

Re: QoS & ACK Priority

Posted: Sun Feb 27, 2011 2:28 am
by robnitro
Sarbian, how did you add this class yourself??

Re: QoS & ACK Priority

Posted: Mon Feb 28, 2011 3:23 pm
by pbix
For Folks interested in this issue.

When the upload link is saturated is can affect your download link if QoS is not used or not properly used. This because browsing and what not require two-way communications. Not just for ACKs but for other things as well depending on what you are doing. Blockage in either direction will affect the other. For example a 10Mbps downlink may require 500kbps uplink to saturate it.

When two or more flows are directed into the same QoS class or when no QoS is used there is no fairness between them. QoS can only enforce fairness between classes. The trick is to get the competing flows you care about into separate classes.

For example in this case it is clear the user wants the downloading program to have priority over the uploading program. So an upload class should be made for the low priority flow (for example a torrent). Once you have all the torrent flow passing through the new class you can assign 1% to it with no min/max limits. The other classes and the default class can then be made with higher shares and you will get the performance you seek.

So this problem is not really an issue of giving ACKs priority but rather a general QoS configuration issue of getting your flows segregated so you can discriminate as needed.