Hello!
On Fri, 6 Oct 2006, Andrey V. Elsukov wrote:
the 100 need to be changed to 10,000 to allow for a bigger queue according
to the customer that wants to use ipfw + dummynet for
testing gigE thruput
I think this is not good idea. This limit will be checked later in
kernel, and if you'll set qsize value greater that 100 - kernel will
correct this to 50. (if i correctly understood a kernel sources..)
Well, frankly, the following code (as in RELENG_6) annoys me a lot:
src/sys/netinet/ip_dummynet.c:
set_fs_parms(struct dn_flow_set *x, struct dn_flow_set *src)
{
x->flags_fs = src->flags_fs;
x->qsize = src->qsize;
x->plr = src->plr;
x->flow_mask = src->flow_mask;
if (x->flags_fs & DN_QSIZE_IS_BYTES) {
if (x->qsize > 1024*1024)
x->qsize = 1024*1024 ;
} else {
if (x->qsize == 0)
x->qsize = 50 ;
if (x->qsize > 100)
x->qsize = 50 ;
}
So the absolute maximum for the pipe's queue size is either 1Mbyte or 100
packets. If one wants to provide fixed maximum _delay_ by the pipe (e.g., full
pipe gives increasing delays up to, say, 5 sec, before dropping packets),
[s]he should set pipe's queue size in bytes to bw * delay (bw is in
bytes/sec), which gives that with this (artificial IMHO) 1Mbyte queue limit
we can provide max. delay of 5 seconds for bw of 209715.2 bytes/sec (approx.
1.6Mbit/s), which is _way_ too low by today's standards. We've got _a lot_
kernel memory to burn on modern machines. So my question is:
what (except this limit) prevents large queues (> 1 Mbytes) from functioning
correctly? If I just remove this limit, will I hit some other limits in
dummynet code (except overall KVA or UMA zone limit)?
Sincerely, Dmitry
--
Atlantis ISP, System Administrator
e-mail: [EMAIL PROTECTED]
nic-hdl: LYNX-RIPE
_______________________________________________
freebsd-ipfw@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw
To unsubscribe, send any mail to "[EMAIL PROTECTED]"