From: Pablo Neira Ayuso <pablo@netfilter.org>
To: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Cc: Patrick McHardy <kaber@trash.net>, netfilter-devel@vger.kernel.org
Subject: Re: [PATCH 0/1] Conntrack event generation control, kernel part
Date: Tue, 12 May 2009 16:45:19 +0200 [thread overview]
Message-ID: <4A098B7F.6050605@netfilter.org> (raw)
In-Reply-To: <alpine.DEB.2.00.0905121524020.28379@blackhole.kfki.hu>
Jozsef Kadlecsik wrote:
> On Tue, 12 May 2009, Pablo Neira Ayuso wrote:
>
>> First of all, this is clashing with seven big patches that I have here
>> including one to kill the notifier call chain :), I'm waiting for
>> Patrick to open nf-next-2.6 to send them all. I can send them now.
>
> (I have promised patches ;-). Yes, I know they're clashing, I should have
> added the RFC tag to the subject. As soon as your patches are integrated
> I'll adapt my patches.
Great, thanks! First, my patches have to pass Patrick's review :).
>>> The patch adds support to control the in-kernel event generation.
>>> In practice we face two problems: we should support a fine-grained
>>> event generation in netfilter, in order to be able to catch and follow
>>> the different state changes. At the same time, for example for conntrack
>>> replication, a too fine-grained event generation can easily result in
>>> a high, unnecessary system load. BFP and/or userspace event filtering
>>> is not effective enough to avoid it: the resources are already burnt
>>> on building up the netlink messages.
>> Yes, some fine-grain filtering to avoid the message building would be
>> interesting, however, what you're proposing is not flexible enough for
>> two different applications that are interested in different events. Time
>> ago, I proposed a netlink unicast-based interface for ctnetlink similar
>> to nfnetlink_queue and the NFQUEUE target. Still, it needed yet another
>> table (at the end of postrouting) for something very specific.
>
> But if application A is interested in event X and application B is
> interested in event Y, then why would it be any problem for the solution
> I'm proposing? Just proper rules are required, then the events X and Y
> will be generated and delivered to the clients. What do I miss here?
Nothing I think, I'm refering to the approach itself. If there's one
application A that want to receive all events and another B that only
wants one event, A and B will receive all events. I think that this
should be per-process.
[...]
> Yes, but the kernel must supply all events the different applications
> want. So actually, it's simpler on the kernel side: it needs just to know
> the events wanted. And does not really matter, which application wants
> which event.
Yes, it's simpler from the kernel-side but allowing selecting this from
user-space provides more flexibility.
> [...]
>> In my patches I have added a per-ct event cache like this (but using the
>> conntrack extension infrastructure) to add reliable event reporting,
>> which is something that we also need for logging and synchronization.
>>
>> BTW, I don't like using connmark for this.
>
> You mean the CONNMARK target? I deliberately avoided using the connection
> marks. Or "marking" the connections by the eventmask? But that is the most
> effective way to filter the events.
I see, but something similar to nfnetlink_queue/NFQUEUE (per-process)
together with an extended version of the `conntrack match' for events
would be more flexible.
--
"Los honestos son inadaptados sociales" -- Les Luthiers
next prev parent reply other threads:[~2009-05-12 14:45 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-12 11:52 [PATCH 0/1] Conntrack event generation control, kernel part Jozsef Kadlecsik
2009-05-12 12:46 ` Jan Engelhardt
2009-05-12 13:19 ` Jozsef Kadlecsik
2009-05-12 13:23 ` Pablo Neira Ayuso
2009-05-12 13:19 ` Pablo Neira Ayuso
2009-05-12 13:41 ` Jozsef Kadlecsik
2009-05-12 14:45 ` Pablo Neira Ayuso [this message]
2009-05-14 9:32 ` Pablo Neira Ayuso
2009-05-14 10:44 ` Pablo Neira Ayuso
2009-05-15 19:07 ` Jozsef Kadlecsik
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=4A098B7F.6050605@netfilter.org \
--to=pablo@netfilter.org \
--cc=kaber@trash.net \
--cc=kadlec@blackhole.kfki.hu \
--cc=netfilter-devel@vger.kernel.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.