Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Sep 2009 14:22:33 +0800
From:      Eugene Grosbein <eugen@kuzbass.ru>
To:        Brett Glass <brett@lariat.net>
Cc:        net@freebsd.org
Subject:   Re: ipfw gred parameters
Message-ID:  <20090930062233.GA28758@svzserv.kemerovo.su>
In-Reply-To: <200909291855.MAA21423@lariat.net>
References:  <200909291855.MAA21423@lariat.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Sep 29, 2009 at 12:54:53PM -0600, Brett Glass wrote:

> I've been trying to determine the best parameters for gred ("gentle 
> RED") to allow graceful bandwidth limiting in ipfw, but have found 
> precious little guidance on the Web as to what the parameters mean. 
> The code gives some hints, but I'm still uncertain: what parameters 
> work best in a typical system? And how do the parameters submitted 
> to "dummynet" correspond to the ones usually seen in descriptions 
> of the algorithm?

I use the following schema:

ipfw add pipe $pipeno config bw ${group_bw}Kbit/s queue $qslots \
  gred $w_q/$q_min/$q_max/$max_p

pipeno:		number of pipe
group_bw:	total pipe bandwidth
qslots:		length of GRED queue
w_q:		constantly equals to 0.002 (0 < w_q < 1),
		exponential factor
max_p:		constantly equals to 0.1, the probability of packet
		drop lineary grows from zero upto $max_p
		while GRED queue occupancy grows upto $q_min.
q_min:		see max_p
q_max		the probability of packet drop lineary
		grows from max_p to 1 while GRED queue occupancy grows
		from q_min to q_max

I choose q_min = 0.9*qslots, q_max = qslots.
For narrow pipes qslots should be small if short ping delays
are more preferable, e.g. qslots=50 for 256Kbit/s
or qslots=30 for 64Kbit/s.

For large bandwidth it's suitable to increase qslots;
for example, I use qslots=1000 for 10-15Mbit/s.

Eugene Grosbein



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