From: Florian Westphal <fw@strlen.de>
To: David Miller <davem@davemloft.net>
Cc: fw@strlen.de, netdev@vger.kernel.org, hannes@stressinduktion.org,
edumazet@google.com, herbert@gondor.apana.org.au
Subject: Re: [PATCH -next] net: preserve geometry of fragment sizes when forwarding
Date: Mon, 18 May 2015 22:40:49 +0200 [thread overview]
Message-ID: <20150518204049.GC20709@breakpoint.cc> (raw)
In-Reply-To: <20150518.162854.1116793790405432801.davem@davemloft.net>
David Miller <davem@davemloft.net> wrote:
> From: Florian Westphal <fw@strlen.de>
> Date: Mon, 18 May 2015 22:06:37 +0200
>
> > So, please please re-evaluate your stance on any of the previous
> > attempts or tell me how you would provide bridge netfilter with
> > the means to transparently forward (refrag) reassembled skbs, without
> > breaking PMTUD, in ipv4 and ipv6.
>
> I know you really don't want to do it, but I really want to see
> the "GRO'ish" idea implemented to solve all of these problems.
>
> I know it's hard, and you're making it clear here that you'd
> rather just pass an mtu argument around or duplicate the entire
> ip fragmentation code base into br_netfilter to solve this problem.
Its not 'hard'. I don't see how its possible to do this.
> But as networking maintainer I'm supposed to tell you "no" when
> those kinds of proposals are being made. Ok?
Sure.
> We have amazing infrastructure for dealing with oddly segmented
> packets, such as skb_header_pointer(). So parsing things in
> a fragmented SKB should be no problem regardless of where the
> split points are.
Netfilter works fine with reassembled skbs that have frag lists.
Parsing is also not that much of a problem, modifying/growing is.
> We could have suitable interfaces for writing to packets as well,
> which would be equally fast as direct access unless the SKB is
> split in the middle of the object you want to write into.
When I send patches for inclusion in the kernel, I do this to fix
things, or I do it because I believe such patches improve kernel in some
way.
I try to imagine how e.g. the H264 or SIP nat helpers would look like
after such a change and it makes me cringe.
But, to the best of my understanding, what you ask will push a lot of
non-trivial code into the kernel for no functional gain over
what has been proposed.
But, even if we'd have magic solution that does what you want we've
gained nothing; there are (rare) cases where packets get completely modified
(e.g. payload is replaced from userspace/nfqueue; xfrm mangling, etc etc
so we will not be able to escape this either).
Maybe I am just too incompetent.
I've tried the best I could do. Perhaps someone else can pick this up.
Alas, I'll bring this up during NFWS 2015. Maybe someone will know how
to do what you are asking.
next prev parent reply other threads:[~2015-05-18 20:40 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-07 21:04 [PATCH -next] net: preserve geometry of fragment sizes when forwarding Florian Westphal
2015-05-18 19:39 ` David Miller
2015-05-18 20:06 ` Florian Westphal
2015-05-18 20:28 ` David Miller
2015-05-18 20:40 ` Florian Westphal [this message]
2015-05-18 20:55 ` David Miller
2015-05-18 21:33 ` Florian Westphal
2015-05-18 22:50 ` Herbert Xu
2015-05-18 23:02 ` Florian Westphal
2015-05-18 23:20 ` Herbert Xu
2015-05-18 23:51 ` David Miller
2015-05-19 12:34 ` Florian Westphal
2015-05-19 19:34 ` Jay Vosburgh
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=20150518204049.GC20709@breakpoint.cc \
--to=fw@strlen.de \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hannes@stressinduktion.org \
--cc=herbert@gondor.apana.org.au \
--cc=netdev@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).