Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Nov 2005 16:36:01 +0100
From:      Andre Oppermann <andre@freebsd.org>
To:        Gleb Smirnoff <glebius@FreeBSD.org>
Cc:        Max Laier <max@love2party.net>, Ruslan Ermilov <ru@FreeBSD.org>, rwatson@FreeBSD.org, Vsevolod Lobko <seva@ip.net.ua>, freebsd-net@FreeBSD.org
Subject:   Re: parallelizing ipfw table
Message-ID:  <438C7561.41E09BBD@networx.ch>
References:  <20051127005943.GR25711@cell.sick.ru> <20051128062732.GA58778@ip.net.ua> <20051128161934.GY25711@cell.sick.ru> <200511281805.11952.max@love2party.net> <20051128191751.GZ25711@cell.sick.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
Gleb Smirnoff wrote:
> On Mon, Nov 28, 2005 at 06:04:50PM +0100, Max Laier wrote:
> M> I remember that we had an extensive discussion about this around
> M> FreeBSD-SA-05:13.ipfw - the bottom line seems to be: either parallel or
> M> cacheing.  Stack storage should work as well.
> 
> The cacheing is a good idea when one table is looked up several times
> for one packet. The above proposal eliminates need for such rulesets.
> And thus we can work towards parallelizm.

The ipfw tables are protected by the ipfw lock.  So this parallel lookup
Gelb has in his patch works fine and doesn't have any races.

No caching between packets can be done without extra locks. Only caching
between rules can be done by saving the result on the stack. The result
must not be accessed anymore once the ipfw lock has been given up.

-- 
Andre



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?438C7561.41E09BBD>