From owner-freebsd-net@FreeBSD.ORG Sun Jul 6 02:14:05 2003 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1EDB737B401 for ; Sun, 6 Jul 2003 02:14:05 -0700 (PDT) Received: from xorpc.icir.org (xorpc.icir.org [192.150.187.68]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9252D44031 for ; Sun, 6 Jul 2003 02:14:04 -0700 (PDT) (envelope-from rizzo@xorpc.icir.org) Received: from xorpc.icir.org (localhost [127.0.0.1]) by xorpc.icir.org (8.12.8p1/8.12.3) with ESMTP id h669E4kN095953; Sun, 6 Jul 2003 02:14:04 -0700 (PDT) (envelope-from rizzo@xorpc.icir.org) Received: (from rizzo@localhost) by xorpc.icir.org (8.12.8p1/8.12.3/Submit) id h669E4Fg095952; Sun, 6 Jul 2003 02:14:04 -0700 (PDT) (envelope-from rizzo) Date: Sun, 6 Jul 2003 02:14:04 -0700 From: Luigi Rizzo To: Eugene Grosbein Message-ID: <20030706021404.A94750@xorpc.icir.org> 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> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <3F07D3CD.4CC3B317@kuzbass.ru>; from eugen@kuzbass.ru on Sun, Jul 06, 2003 at 03:46:21PM +0800 cc: net@freebsd.org Subject: Re: ipprecedence X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jul 2003 09:14:05 -0000 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"