From owner-freebsd-pf@freebsd.org Fri May 20 15:43:05 2016 Return-Path: Delivered-To: freebsd-pf@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 92564B440C4 for ; Fri, 20 May 2016 15:43:05 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from venus.codepro.be (venus.codepro.be [IPv6:2a01:4f8:162:1127::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.codepro.be", Issuer "Gandi Standard SSL CA 2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6174B17DE for ; Fri, 20 May 2016 15:43:05 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from [12.12.12.124] (unknown [45.113.64.253]) (Authenticated sender: kp) by venus.codepro.be (Postfix) with ESMTPSA id C57289DEB; Fri, 20 May 2016 17:43:02 +0200 (CEST) From: "Kristof Provost" To: Max Cc: freebsd-pf@FreeBSD.org Subject: Re: fragments processing Date: Fri, 20 May 2016 21:13:01 +0530 Message-ID: <1D01E770-1FE5-4CCF-9D5F-91FB8ADE955D@FreeBSD.org> In-Reply-To: <856294d7-a71c-811b-cc3e-31b81af2d79c@als.nnov.ru> References: <93ccf602-31d6-fe36-4ccc-96ab1a1e2cc1@als.nnov.ru> <0ED6BC86-1DDF-4C80-9C05-6ED19049AB92@FreeBSD.org> <856294d7-a71c-811b-cc3e-31b81af2d79c@als.nnov.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Mailer: MailMate Trial (1.9.4r5234) X-BeenThere: freebsd-pf@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "Technical discussion and general questions about packet filter \(pf\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 May 2016 15:43:05 -0000 On 20 May 2016, at 18:57, Max wrote: > 20.05.2016 11:53, Kristof Provost пишет: >> On 19 May 2016, at 19:49, Max wrote: >>> The number of used frags (almost) never decreases. I don't have >>> enough experience in programming. But I guess that the problem may >>> be in "frag->fr_timeout = time_second;" in pf_fillup_fragment() >>> (pf_norm.c). It should be "frag->fr_timeout = time_uptime;". >>> Actually, I don't now the difference between those variables. So, >>> correct me if I'm wrong. >>> >> I think you’re right. If I’m reading the code right time_second >> is unix time, >> but time_uptime is the number of seconds the system has been up. > > I rebuilt the kernel. It seems the problem is gone. > Awesome, thanks for testing. I’ve committed the fix, and will merge it back to stable/10 in a couple of days. Regards, Kristof