Date: Sun, 25 Dec 2011 20:37:55 +0100 From: Luigi Rizzo <rizzo@iet.unipi.it> To: "Alexander V. Chernikov" <melifaro@freebsd.org> Cc: "Andrey V. Elsukov" <ae@freebsd.org>, freebsd-net@freebsd.org, freebsd-ipfw@freebsd.org, "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>, Pawel Tyll <ptyll@nitronet.pl> Subject: Re: IPFW eXtended tables [Was: Re: IPFW tables, dummynet and IPv6] Message-ID: <20111225193755.GB10707@onelab2.iet.unipi.it> In-Reply-To: <4EF7719A.8020902@FreeBSD.org> References: <1674097252.20111218125051@nitronet.pl> <4EEDD566.8020609@FreeBSD.org> <20111220163355.GA87584@DataIX.net> <4EF73A4A.3050902@FreeBSD.org> <1413850829.20111225184712@nitronet.pl> <AA3C6FCC-0817-4108-A107-3367A6F14757@lists.zabbadoz.net> <4EF7719A.8020902@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Dec 25, 2011 at 10:55:22PM +0400, Alexander V. Chernikov wrote: > Bjoern A. Zeeb wrote: > > On 25. Dec 2011, at 17:47 , Pawel Tyll wrote: > > > >> Hi Alexander, > >> > >>> Changes: > >>> * Tables (actually, radix trees) are now created/freed on demand. > >> Does this mean IPFW_TABLES_MAX can now be safely set to arbitrarily > >> high number that would allow flexible numbering of tables? Arbitrarily > >> high being 0xFFFFFFFF or some other nice large number that won't step > >> on my ideas :) > At the moment maximum number of tables remains the same however it is > now possible to define IPFW_TABLES_MAX to 65k without much (memory) > overhead. Since pointer to tables are stored in array, defining 2^32 > tables require 4G * (8+8+1) memory for pointers only. perhaps you could reuse some of the infrastructure i have for looking up rule numbers -- i keep them sorted into an array (and if i am not mistaken there are generation numbers to validate pointers) so lookups are O(log N) in the worst case, and direct lookups are O(1) after the first attempt. cheers luigi
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111225193755.GB10707>