From owner-freebsd-net@FreeBSD.ORG Fri Jun 6 13:42:31 2014 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8277740F for ; Fri, 6 Jun 2014 13:42:31 +0000 (UTC) Received: from sola.nimnet.asn.au (paqi.nimnet.asn.au [115.70.110.159]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3B54E2265 for ; Fri, 6 Jun 2014 13:42:29 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by sola.nimnet.asn.au (8.14.2/8.14.2) with ESMTP id s56DVvMo018411; Fri, 6 Jun 2014 23:31:57 +1000 (EST) (envelope-from smithi@nimnet.asn.au) Date: Fri, 6 Jun 2014 23:31:57 +1000 (EST) From: Ian Smith To: bycn82 Subject: RE: [CFT]: ipfw named tables / different tabletypes In-Reply-To: <000401cf80d8$ad1bb840$075328c0$@gmail.com> Message-ID: <20140606222753.W15833@sola.nimnet.asn.au> References: <20140521204826.GA67124@onelab2.iet.unipi.it> <537E1029.70007@FreeBSD.org> <20140522154740.GA76448@onelab2.iet.unipi.it> <537E2153.1040005@FreeBSD.org> <20140522163812.GA77634@onelab2.iet.unipi.it> <538B2FE5.6070407@FreeBSD.org> <539044E4.1020904@ipfw.ru> <000c01cf80be$41194370$c34bca50$@gmail.com> <20140605134256.GA81234@onelab2.iet.unipi.it> <000001cf80cd$5dc1d9b0$19458d10$@gmail.com> <20140605155402.GA81905@onelab2.iet.unipi.it> <000401cf80d8$ad1bb840$075328c0$@gmail.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: 'Luigi Rizzo' , "'Alexander V. Chernikov'" , 'FreeBSD Net' X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jun 2014 13:42:31 -0000 On Fri, 6 Jun 2014 00:10:26 +0800, bycn82 wrote: Hi Bill, > Sorry for waste you time to explain it again, I will read the code first. Especially the code provided in free tutorials by your busy professor .. > And the latest patch of `PPS` should be OK, I checked the logic carefully this time. I sent it out last weekend. > > logic as below, PPS actually will be fulfilled using `PPT`,(N packets per M ticks). I think a few people have pointed out likely problems with 'packets per tick(s)', and that people tend to prefer packets per second as a more natural and familiar concept. I can see use cases for that, especially when applied by easily updateable (and soon, saveable) tables. Remember that HZ may be set at boot time, and will at times by people experimenting with, as one example, dummynet latency versus cpu use, so rulesets specifying packets per tick would need also to be modified to match, which won't happen. Packets per second is independent of HZ and far easier to comprehend. See inetd(8) for a typical PPM example, while PPS makes more sense for a firewall. I wonder if something like Bresenham's Linedrawing Algorithm might help? cheers, Ian