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]"

Reply via email to