Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Jul 2003 02:14:04 -0700
From:      Luigi Rizzo <rizzo@icir.org>
To:        Eugene Grosbein <eugen@kuzbass.ru>
Cc:        net@freebsd.org
Subject:   Re: ipprecedence
Message-ID:  <20030706021404.A94750@xorpc.icir.org>
In-Reply-To: <3F07D3CD.4CC3B317@kuzbass.ru>; from eugen@kuzbass.ru on Sun, Jul 06, 2003 at 03:46:21PM %2B0800
References:  <20030703002247.A2097@grosbein.pp.ru> <3F0310CE.5070302@tenebras.com> <3F03867A.79F82968@kuzbass.ru> <20030705123332.A60972@xorpc.icir.org> <3F078E39.ABC0822F@kuzbass.ru> <20030706002402.A58528@xorpc.icir.org> <3F07D3CD.4CC3B317@kuzbass.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
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).

cheers
luigi

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030706021404.A94750>