From owner-freebsd-bugs@FreeBSD.ORG Thu Nov 9 10:31:21 2006 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 64CE716A47E for ; Thu, 9 Nov 2006 10:31:21 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 23B3243DAE for ; Thu, 9 Nov 2006 10:30:46 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id kA9AUPTN033480 for ; Thu, 9 Nov 2006 10:30:25 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id kA9AUPAg033479; Thu, 9 Nov 2006 10:30:25 GMT (envelope-from gnats) Resent-Date: Thu, 9 Nov 2006 10:30:25 GMT Resent-Message-Id: <200611091030.kA9AUPAg033479@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Alexey Kouznetsov Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C4AF316A403 for ; Thu, 9 Nov 2006 10:28:04 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id A938243D7F for ; Thu, 9 Nov 2006 10:28:01 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.13.1/8.13.1) with ESMTP id kA9AS0H4077636 for ; Thu, 9 Nov 2006 10:28:01 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.13.1/8.13.1/Submit) id kA9AS0gU077635; Thu, 9 Nov 2006 10:28:00 GMT (envelope-from nobody) Message-Id: <200611091028.kA9AS0gU077635@www.freebsd.org> Date: Thu, 9 Nov 2006 10:28:00 GMT From: Alexey Kouznetsov To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.0 Cc: Subject: kern/105330: ipfw (dummynet) do not allow to set queue length > 100 packets X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Nov 2006 10:31:21 -0000 >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: