Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Dec 2011 20:37:55 +0100
From:      Luigi Rizzo <rizzo@iet.unipi.it>
To:        "Alexander V. Chernikov" <melifaro@freebsd.org>
Cc:        Jason Hellenthal <jhell@dataix.net>, "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>