From owner-cvs-all@FreeBSD.ORG Sun Feb 3 16:58:46 2008 Return-Path: Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C51F916A421; Sun, 3 Feb 2008 16:58:46 +0000 (UTC) (envelope-from louie@transsys.com) Received: from ringworld.transsys.com (ringworld.transsys.com [144.202.0.15]) by mx1.freebsd.org (Postfix) with ESMTP id 9A49613C501; Sun, 3 Feb 2008 16:58:46 +0000 (UTC) (envelope-from louie@transsys.com) Received: from PM-G5.transsys.com (c-69-141-143-164.hsd1.nj.comcast.net [69.141.143.164]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: louie) by ringworld.transsys.com (Postfix) with ESMTP id F00265C04; Sun, 3 Feb 2008 11:36:49 -0500 (EST) Message-Id: From: Louis Mamakos To: Alexander Motin In-Reply-To: <47A4E122.8080901@FreeBSD.org> Content-Type: text/plain; charset=UTF-8; format=flowed; delsp=yes Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Apple Message framework v915) Date: Sun, 3 Feb 2008 11:36:49 -0500 References: <200801271501.m0RF1Hki089075@repoman.freebsd.org> <20080202201153.GL14339@FreeBSD.org> <47A4E122.8080901@FreeBSD.org> X-Mailer: Apple Mail (2.915) Cc: cvs-src@FreeBSD.org, Gleb Smirnoff , cvs-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: cvs commit: src/sys/netgraph/netflow ng_netflow.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Feb 2008 16:58:46 -0000 On Feb 2, 2008, at 4:31 PM, Alexander Motin wrote: > Gleb Smirnoff =D0=BF=D0=B8=D1=88=D0=B5=D1=82: >> you should have asked me for review before committing! This is >> not a bug, this is a feature. This was quite clear from the comments, >> that you removed: >> - /* if export hook disconnected stop running expire(). */ >> This is intended behavior. We must not lose information unless >> user explicitly wants to lose information. In the latter case >> he will connect ng_hole(4) node to the "export" hook. But we must >> not lose information if user runs some script that swaps receiving >> node on the "export" hook. >> Please backout this change! > > Expire process was not depending completely on connected hook even =20 > before this commit. For example, every TCP session closing forces =20 > some data export. So even with export hook disconnected some data =20 > still will be lost and not just lost, but it was leading to memory =20 > leak which I have fixed with other commit. > > So if you insist that it was a feature then sorry. Then it should be =20= > documented and fixed to work correctly. But as soon as nobody notice =20= > that memory leak, probably nobody uses this feature actively. > > --=20 > Alexander Motin > If there's a concern about no losing the netflow data, then it's =20 likely that it's usually the case that an export hook is connected. =20 If a user wanted to change the export arrangement for the netflow =20 data, then just disconnected and reconnecting to the export hook won't =20= caused data to be lost if the expiry parameters are set to something =20 reasonable. Finally, in the absence of infinite amounts of memory, data will =20 eventually be lost. The only decision is over what duration data =20 should be kept around so that it might be harvested. It's a huge =20 surprise that the netflow module consumes large amounts of kernel =20 memory. As a user, I expected the expiration timers to be the policy =20= that I specify to control how long the netflow stats are stored, and =20 my expectation wasn't met. Louis Mamakos