On Monday 02 June 2003 02:23, Andrew Hall wrote: > Hello, > > I've read all the documentation I can find on HTB/SFQ setups, but still I > have a gap in my understanding that I'm hoping someone can please explain. > Where my understanding fails is why SFQ is required (and more importantly > what advantage does it provide) as a leaf qdisc, when packets are already > queued by HTB (which is the interface FIFO qdisc replacement). I *think* > it's to give fairness to packets of different size that have been > classified and therefore belongs to a particular leaf class, therefore > ensuring that if a leaf class has a guaranteed AR of 100Kbps that ALL data > classified for that class will approximately get their fair share of this > bandwidth within the class? Is this correct? If not, what advantage does it > have over the standard FIFO qdisc on the leaf? To extend this line of > questioning, therefore what advantage does ESFQ add? Htb classes can be used to seperate the traffic. So you have a bunch of packets belonging to a bunch of connections that are seen as 1. If you add a sfq qdisc, you control how all these connections within a htb class are handled. If you add a fifo qdisc, the packets are sended in the same order as they arrived in the class. If you add a sfq qdisc, you give each connection within the htb class the same opportunity to send something. Assume that have a bulk connection (big download) and an interactive connection (ssh login) in the same class. If you leaf the default prio in place, the ssh packets have to wait in the queue. Let say you have a queue of 100 packets, so the ssh packet has to wait for the 99 other to be sended be fore it can be send. If you add a sfq qdisc, the 2 connections may send 2 packet each at a turn. If you send a ssh packet, it can be sended after waiting for the 2 packets from the bulk download. So the ssh packets will be sended much faster. Htb is not queueing the packets itself. It only seperates the packets in classes and the qdiscs attached to the classes are responsible for queueing the packets. Stef -- stef.coene@xxxxxxxxx "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.oftc.net