Date: Thu, 9 Nov 2006 10:28:00 GMT From: Alexey Kouznetsov<kuznec@hcn-strela.ru> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/105330: ipfw (dummynet) do not allow to set queue length > 100 packets Message-ID: <200611091028.kA9AS0gU077635@www.freebsd.org> Resent-Message-ID: <200611091030.kA9AUPAg033479@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 105330 >Category: kern >Synopsis: ipfw (dummynet) do not allow to set queue length > 100 packets >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Thu Nov 09 10:30:24 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Alexey Kouznetsov >Release: 6.2-PRERELEASE cvsuped 2006.11.07 >Organization: HCN Strela >Environment: FreeBSD lg02.hcn-strela.ru 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #1: Wed Nov 8 20:13:14 MSK 2006 root@lg02.hcn-strela.ru:/usr/obj/usr/src/sys/STRELA20060511 i386 >Description: If we have fast connection and want to use longer queue for faster pipes we may want to set up longer queue. But we do not able to set the queue length more then 100 packets # /sbin/ipfw pipe 107 config mask dst-ip 0xffffffff bw 10Mbit/s queue 600 gred 0.002/100/300/0.1 ipfw: 2 <= queue size <= 100 >How-To-Repeat: Try to set queue length > 100 packets # /sbin/ipfw pipe 107 config mask dst-ip 0xffffffff bw 10Mbit/s queue 600 gred 0.002/100/300/0.1 ipfw: 2 <= queue size <= 100 >Fix: Change sbin/ipfw/ipfw2.c and sys/netinet/ip_dummynet.c and increase check value to bigger value as far as this value is int qsize, then we can use values up to 65000 what give us queue about 100 MB (for 1500 mtu) *** sys/netinet/ip_dummynet.c.orig Thu Nov 9 13:14:11 2006 --- sys/netinet/ip_dummynet.c Thu Nov 9 13:14:24 2006 *************** *** 1588,1594 **** } else { if (x->qsize == 0) x->qsize = 50 ; ! if (x->qsize > 100) x->qsize = 50 ; } /* configuring RED */ --- 1588,1594 ---- } else { if (x->qsize == 0) x->qsize = 50 ; ! if (x->qsize > 65000) x->qsize = 50 ; } /* configuring RED */ *** sbin/ipfw/ipfw2.c.orig Thu Nov 9 13:13:21 2006 --- sbin/ipfw/ipfw2.c Thu Nov 9 13:13:54 2006 *************** *** 3477,3484 **** if (p.fs.qsize > 1024*1024) errx(EX_DATAERR, "queue size must be < 1MB"); } else { ! if (p.fs.qsize > 100) ! errx(EX_DATAERR, "2 <= queue size <= 100"); } if (p.fs.flags_fs & DN_IS_RED) { size_t len; --- 3477,3484 ---- if (p.fs.qsize > 1024*1024) errx(EX_DATAERR, "queue size must be < 1MB"); } else { ! if (p.fs.qsize > 65000) ! errx(EX_DATAERR, "2 <= queue size <= 65000"); } if (p.fs.flags_fs & DN_IS_RED) { size_t len; >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611091028.kA9AS0gU077635>