Luigi Rizzo rizzo at icir.org
Sun Jul 6 02:14:05 PDT 2003

On Sun, Jul 06, 2003 at 03:46:21PM +0800, Eugene Grosbein wrote:
> > zero-bw pipes are only useful to add delay or to count
> > traffic (e.g. using masks), but will never cause queues
> > to build up and so won't help in your case.
> That's sad; it would be nice if dummynet would create queues for zero-bw
> pipes and perform dequeueing basing on weights.

that would be magic, not engineering :)

How could the scheduler decide when to drain the queue ?

As I said, there _is_ a way -- if you know the device where the
queueing occurs (say 'wi0'), and are willing to modify the driver,
you can insert a call to if_tx_rdy() in the place where the device
signals that the 'transmit ring' (see my previous msg) is ready,
and then use 'bandwidth wi0' to set the rate of the pipe.

In this case, there will be always just one packet in the transmit
ring+ifq, all the queueing occurs in the dummynet queues, and you
can schedule things as you like (with weights, RED, etc.)

But there is some overhead in doing this which does not make the
method suitable for 100/1G interfaces (but it is probably completely
acceptable for slower things such as 'wi' and 'tun' and 'sio'
devices.  Maybe even for some 10Mbit/s cards).


> Eugene
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"

More information about the freebsd-net mailing list