From owner-freebsd-bugs@FreeBSD.ORG  Thu Mar 31 09:10:09 2011
Return-Path: <owner-freebsd-bugs@FreeBSD.ORG>
Delivered-To: freebsd-bugs@hub.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id ADBC11065670
	for <freebsd-bugs@hub.freebsd.org>;
	Thu, 31 Mar 2011 09:10:09 +0000 (UTC)
	(envelope-from gnats@FreeBSD.org)
Received: from freefall.freebsd.org (freefall.freebsd.org
	[IPv6:2001:4f8:fff6::28])
	by mx1.freebsd.org (Postfix) with ESMTP id 737EF8FC15
	for <freebsd-bugs@hub.freebsd.org>;
	Thu, 31 Mar 2011 09:10:09 +0000 (UTC)
Received: from freefall.freebsd.org (localhost [127.0.0.1])
	by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p2V9A9NA052754
	for <freebsd-bugs@freefall.freebsd.org>; Thu, 31 Mar 2011 09:10:09 GMT
	(envelope-from gnats@freefall.freebsd.org)
Received: (from gnats@localhost)
	by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p2V9A995052753;
	Thu, 31 Mar 2011 09:10:09 GMT (envelope-from gnats)
Resent-Date: Thu, 31 Mar 2011 09:10:09 GMT
Resent-Message-Id: <201103310910.p2V9A995052753@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,
	Artjom Nikushkin <arni@balticom.lv>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id F2D70106566B
	for <freebsd-gnats-submit@FreeBSD.org>;
	Thu, 31 Mar 2011 09:04:05 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id E52578FC16
	for <freebsd-gnats-submit@FreeBSD.org>;
	Thu, 31 Mar 2011 09:04:05 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.4/8.14.4) with ESMTP id p2V945ox067072
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 31 Mar 2011 09:04:05 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.4/8.14.4/Submit) id p2V945CF067052;
	Thu, 31 Mar 2011 09:04:05 GMT (envelope-from nobody)
Message-Id: <201103310904.p2V945CF067052@red.freebsd.org>
Date: Thu, 31 Mar 2011 09:04:05 GMT
From: Artjom Nikushkin <arni@balticom.lv>
To: freebsd-gnats-submit@FreeBSD.org
X-Send-Pr-Version: www-3.1
Cc: 
Subject: kern/156083: ipfw pipe flush - memleak
X-BeenThere: freebsd-bugs@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Bug reports <freebsd-bugs.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-bugs>,
	<mailto:freebsd-bugs-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-bugs>
List-Post: <mailto:freebsd-bugs@freebsd.org>
List-Help: <mailto:freebsd-bugs-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-bugs>,
	<mailto:freebsd-bugs-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 31 Mar 2011 09:10:09 -0000


>Number:         156083
>Category:       kern
>Synopsis:       ipfw pipe flush - memleak
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Mar 31 09:10:09 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Artjom Nikushkin
>Release:        8.2-RELEASE
>Organization:
Balticom
>Environment:
FreeBSD bsd82-test.balticom.lv 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Feb 18 02:24:46 UTC 2011     root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
After sequental pipe config/flush, dummynet hits limit of memory and `dmesg` ouputs : "ipfw: setsockopt(IP_DUMMYNET_CONFIGURE): Cannot allocate memory", and crashes. Pipe is configured with src-ip or dst-ip mask (dummynet hash pipes). 

>How-To-Repeat:
In fresh install : 
for ((i=1;$i<2000000; i=$i+1)); do ipfw pipe 1 config bw 10Mbit/s mask src-ip 0xffffffff ; ipfw -f pipe flush ; done

When Wired memory hits about 370Mb of RAM, it crashes. 
It's possible to make it crash faster - rise net.inet.ip.dummynet.hash_size up to the maximum size. 
>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted: