From: Massimiliano Hofer <max@nucleus.it>
To: Patrick McHardy <kaber@trash.net>
Cc: Netfilter Development Mailinglist <netfilter-devel@lists.netfilter.org>
Subject: Re: priv_data patch
Date: Mon, 14 Aug 2006 16:40:41 +0200 [thread overview]
Message-ID: <200608141640.41759.max@nucleus.it> (raw)
In-Reply-To: <44E07BCD.8030206@trash.net>
On Monday 14 August 2006 3:34 pm, you wrote:
> While merging the priv_data patch I noticed an oversight. Currently,
> when modifying the ruleset, all modules dump their entire state
> (user configuration + internal state kept in the same structure)
> to userspace, which will return it to the kernel. That means for
> example that the limit match will not loose its current state when
> modifying other rules. When we move the state out of the data shared
> with userspace this can't be done anymore, so each modification to
> the table will cause all modules to loose their current state, even
> if they we're not directly affected by the change. We can't break
> this behaviour, so this limits potential users of the priv_data stuff
> to things like hashlimit or recent, which do a lookup of state stored
> completely external from the ruleset (and could use it to cache the
> lookup result). I don't think that this is worth it, we probably need
> to wait until we have a better userspace interface before we can do
> something like this ..
I'm afraid you are right. This limits the usefulness to volatile data that can
safely be discarded. This can be some sort of disposable statistic or
performance enhancing cache of data that can be retrieved in other ways.
Without this patch we are condemned to ugly tricks for data needed by
condition, hashlimit and recent. I think this is useful, but I'll leave it to
you to decide if it's worth.
Any idea for a better userspace interface?
It's not the first time you tell me that we could have a better "next
generation" userspace interface. Maybe it's time to start planning.
Does anyone have wishes for new or different ways to do things?
Just an example without proper thought or planning: we could set an optional
way rules could use to tag themselves and have their data back if they want
it. As with priv_data this won't benefit everyone. I'll keep thinking of
better ways.
IMHO a portion of data outside the one passed by userspace (persistent or
volatile) is a must in the long run and will free us from an arbitrary
constraint between userspace and kernelspace. I see other people are writing
matches that rely on separate user input to complete its data (interface
groups?) and they will need somewhere to store it.
--
Saluti,
Massimiliano Hofer
Nucleus
next prev parent reply other threads:[~2006-08-14 14:40 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-14 13:34 priv_data patch Patrick McHardy
2006-08-14 14:25 ` Joakim Axelsson
2006-08-14 14:31 ` Patrick McHardy
2006-08-14 15:20 ` Joakim Axelsson
2006-08-14 15:28 ` Patrick McHardy
2006-08-14 16:04 ` Joakim Axelsson
2006-08-14 16:13 ` Patrick McHardy
2006-08-14 16:55 ` Joakim Axelsson
2006-08-14 16:59 ` Patrick McHardy
2006-08-15 8:27 ` Amin Azez
2006-08-15 8:40 ` Joakim Axelsson
2006-08-14 15:31 ` Patrick McHardy
2006-08-14 15:40 ` Joakim Axelsson
2006-08-14 15:46 ` Patrick McHardy
2006-08-14 15:56 ` Joakim Axelsson
2006-08-14 16:01 ` Patrick McHardy
2006-08-14 16:13 ` Joakim Axelsson
2006-08-14 16:26 ` Patrick McHardy
2006-08-14 16:40 ` Joakim Axelsson
2006-08-14 16:50 ` Patrick McHardy
2006-08-14 17:11 ` Joakim Axelsson
2006-08-14 17:48 ` Patrick McHardy
2006-08-14 17:59 ` Joakim Axelsson
2006-08-14 15:53 ` Massimiliano Hofer
2006-08-14 14:40 ` Massimiliano Hofer [this message]
2006-08-14 14:48 ` Patrick McHardy
2006-08-14 14:58 ` Joakim Axelsson
2006-08-14 15:05 ` Patrick McHardy
2006-08-14 16:19 ` Massimiliano Hofer
2006-08-14 16:32 ` Joakim Axelsson
[not found] ` <200608141557.35918.max@nucleus.it>
[not found] ` <44E08AC7.2050204@trash.net>
[not found] ` <200608141702.50753.max@nucleus.it>
2006-08-14 15:14 ` Patrick McHardy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200608141640.41759.max@nucleus.it \
--to=max@nucleus.it \
--cc=kaber@trash.net \
--cc=netfilter-devel@lists.netfilter.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.