netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: KOVACS Krisztian <hidden@balabit.hu>
To: netfilter-devel@vger.kernel.org
Subject: nfnetlink and conntrack extension question
Date: Wed, 30 Nov 2011 16:54:13 +0100	[thread overview]
Message-ID: <1322668453.4443.24.camel@nessa.odu> (raw)

Dear Netfilter developers,

We're working on releasing a GPL version of our modular proxy software
again, this time complete with our custom iptables target and matcher
modules that implement much of our policy evaluation in iptables. (Think
something like being able to define sets of rules that are evaluated
using a best-match algorithm instead of linear evaluation like iptables
does.)

The kernel space is obviously under GPL, and we'd be very glad to make
it as easy to install as possible -- having to apply kernel patches and
recompile your distro kernel is out of question for most of the
potential users.

Unfortunately upstream submission is not really an option, since the
module itself is very much tied to the userspace and there's really no
point in having it in the kernel unless you want to use Zorp. (I thought
a lot about potential use cases without the userspace proxy, but really
couldn't come up with anything meaningful.)

There are two things remaining that prevent us doing simple out-of-tree
kernel module builds:

     1. We use nfnetlink for the userspace->kernelspace communication.
        This works beautifully, however, since NFNL_SUBSYS_COUNT is a
        compile-time constant there's no way of registering a subsystem
        with an ID not known at compile time.
     2. Pretty much the same happens with conntrack extensions: we use a
        conntrack extension to store cached results of policy
        evaluation. Unfortunatly here we have an NF_CT_EXT_NUM sized
        static array storing the registered conntrack extensions.

My question is whether or not removing those limitations and allowing
runtime registration of both nfnetlink subsystems and conntrack
extensions would be acceptable upstream? That way out-of-tree modules
could possibly use those features without having to resort to patching
and recompiling the kernel.

TiA,

-- 
KOVACS Krisztian




             reply	other threads:[~2011-11-30 16:00 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-30 15:54 KOVACS Krisztian [this message]
2011-11-30 17:05 ` nfnetlink and conntrack extension question Jan Engelhardt
2011-11-30 18:22   ` Pablo Neira Ayuso
2011-12-04 21:06     ` Jan Engelhardt
2011-12-08  9:56       ` KOVACS Krisztian
2011-11-30 18:09 ` Pablo Neira Ayuso
2011-12-08 10:06   ` KOVACS Krisztian

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=1322668453.4443.24.camel@nessa.odu \
    --to=hidden@balabit.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).