From: Florian Westphal <fw@strlen.de>
To: Pablo Neira Ayuso <pablo@netfilter.org>
Cc: Florian Westphal <fw@strlen.de>,
netfilter-devel@vger.kernel.org, netdev@vger.kernel.org,
brouer@redhat.com, Eric Dumazet <eric.dumazet@gmail.com>
Subject: Re: [PATCH nf-next 0/2] netfilter: conntrack: route cache for forwarded connections
Date: Wed, 10 Dec 2014 15:42:06 +0100 [thread overview]
Message-ID: <20141210144206.GH6672@breakpoint.cc> (raw)
In-Reply-To: <20141210141319.GA5028@salvia>
Pablo Neira Ayuso <pablo@netfilter.org> wrote:
> On Mon, Dec 08, 2014 at 04:36:02PM +0100, Florian Westphal wrote:
> > [ Pablo, in case you deem this too late for -next just let me know
> > and I will resend once its open again ]
> >
> > This adds an optional forward routing cache extension for netfilter
> > connection tracking.
> >
> > The memory cost is an additional 32 bytes per conntrack entry
> > on x86_64.
> >
> > Unlike any other currently implemented connection tracking
> > extension the rtcache has no run-time tunables, it is always active.
> >
> > Also, unlike other conntrack extensions, it can be built as a module,
> > in this case modprobe/rmmod are used to enable/disable the cache.
>
> I expect distributors will provide this a module. I think we should
> provide features that can be enable/disable in some way, in this case
> it can be modprobe/rmmod.
Yes, I just wanted to mention this in case someone thinks a sysctl is
must-have.
I did not want to add sysctl "just because" as we cannot easily rip
them out later.
> BTW, did you evaluate Eric's alternative? Any comment on that?
Right, sorry. So Eric suggested to leverage existing early demux.
This would work, but I found several disadvantages, namely it would:
1. only work for protocols that have early demux support
2. have to add some sort of new mini-sk to the "right" data
structure (udp_table, tcp_hashinfo) so not just af but l4 specific
handling
3. add more code to L4 protocol handlers
4. add some upper ceiling for such "forward sockets".
5. devise a scheme by which to zap the entry again
4+5 can be avoided by embedding the "forward sock" inside conntrack,
but that would mean we get larger code than this patch while still
retaining the conntrack dependency.
And without conntrack, I'm not sure how one would go about
adding such route cache without adding back all the problems it had.
> If the merge window remains open, I'll take the pending patches in
> patchwork and send a new batch for David by tomorrow morning.
>
> Let me know, thanks.
Ok. I can send a rebased V3. OTOH, I don't want to rush things.
If you think further discussion is needed before deciding to go with
a conntrack-based route cache then lets do that.
In this case I can resend the v3 once next is open again plus a summary
of the alternatives/problems and we can take it from there.
prev parent reply other threads:[~2014-12-10 14:42 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-08 15:36 [PATCH nf-next 0/2] netfilter: conntrack: route cache for forwarded connections Florian Westphal
2014-12-08 15:36 ` [PATCH nf-next 1/2] netfilter: conntrack: cache route " Florian Westphal
2014-12-08 22:33 ` Florian Westphal
2016-04-28 8:05 ` [nf-next, " Charlemagne Lasse
2014-12-08 15:36 ` [PATCH nf-next 2/2] netfilter: use conntrack rtcache if available Florian Westphal
2014-12-10 14:13 ` [PATCH nf-next 0/2] netfilter: conntrack: route cache for forwarded connections Pablo Neira Ayuso
2014-12-10 14:42 ` Florian Westphal [this message]
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=20141210144206.GH6672@breakpoint.cc \
--to=fw@strlen.de \
--cc=brouer@redhat.com \
--cc=eric.dumazet@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=pablo@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 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).