Dummynet Queue Weighting

Luigi Rizzo rizzo at icir.org
Fri Jul 9 01:41:10 PDT 2004


On Fri, Jul 09, 2004 at 10:19:17AM +0200, Ian FREISLICH wrote:
...
> > > But, what if A&B(1) had no traffic? It is my understanding that
> > > queue 2 and 3 would still only get 5/16 and 1/16 of the pipe
> > > regardless. In this example, 3/8 or 375Kb/s total. Or would 2 and
> > > 3 share the whole pipe if queue 1 is inactive, which would make my
> > > questions moot?
> >
> > The answer to your question is that idle queue do not consume capacity
> > on the pipe they are associated with.  I have queue with weights 100
> > (for VoIP), 20 (for interactive SSH, NTP) and 1 (everything else) and
> > the "everything else" traffic can use the full capacity of the pipe
> > with the other queues are idle.
> 
> This raises another question: how do the idle queues get shared?

the only thing that is shared is the total pipe's capacity,
and it is shared by non-idle queues in proportion to their
weights. That's as simple as that. No special cases.

There is a copious literature on Proportional Share
algorithms, if you google for WF2Q+ (which is the algorithm
implemented in dummynet) you should come up with a lot of
papers to answer your doubts.
We are finishing up a tutorial paper on the topic for which i will
post a URL in a week or two when it is ready.

cheers
luigi


More information about the freebsd-ipfw mailing list