netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jerry Chu <hkchu@google.com>
To: David Miller <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	Or Gerlitz <ogerlitz@mellanox.com>,
	Ben Hutchings <bhutchings@solarflare.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Ranjit Manomohan <ranjitm@google.com>
Subject: Re: [PATCH v3 net-next] net-gro: Prepare GRO stack for the upcoming tunneling support
Date: Fri, 13 Dec 2013 07:48:18 +0800	[thread overview]
Message-ID: <CAPshTCj-N6d0astJAQZa-qqCCgdcidbjsNLCZcydsw8EAH1hsw@mail.gmail.com> (raw)
In-Reply-To: <20131212.134808.116829709834251220.davem@davemloft.net>

On Fri, Dec 13, 2013 at 2:48 AM, David Miller <davem@davemloft.net> wrote:
> From: "H.K. Jerry Chu" <hkchu@google.com>
> Date: Wed, 11 Dec 2013 20:53:45 -0800
>
>> From: Jerry Chu <hkchu@google.com>
>>
>> This patch modifies the GRO stack to avoid the use of "network_header"
>> and associated macros like ip_hdr() and ipv6_hdr() in order to allow
>> an arbitary number of IP hdrs (v4 or v6) to be used in the
>> encapsulation chain. This lays the foundation for various IP
>> tunneling support (IP-in-IP, GRE, VXLAN, SIT,...) to be added later.
>>
>> With this patch, the GRO stack traversing now is mostly based on
>> skb_gro_offset rather than special hdr offsets saved in skb (e.g.,
>> skb->network_header). As a result all but the top layer (i.e., the
>> the transport layer) must have hdrs of the same length in order for
>> a pkt to be considered for aggregation. Therefore when adding a new
>> encap layer (e.g., for tunneling), one must check and skip flows
>> (e.g., by setting NAPI_GRO_CB(p)->same_flow to 0) that have a
>> different hdr length.
>>
>> Note that unlike the network header, the transport header can and
>> will continue to be set by the GRO code since there will be at
>> most one "transport layer" in the encap chain.
>>
>> Signed-off-by: H.K. Jerry Chu <hkchu@google.com>
>> Suggested-by: Eric Dumazet <edumazet@google.com>
>> Reviewed-by: Eric Dumazet <edumazet@google.com>
>
> Applied, thanks.

Thanks, David. I will submit a patch for GRE soon to demonstrate
just how easy it is to add tunneling support to GRO after the assumption
of only one IP hdr in the encap chain is removed. (I already have the
code but it doesn't support the CSUM flag. I'm thinking adding it
plus csum offload support before submitting the patch.)

Best,

Jerry

  reply	other threads:[~2013-12-12 23:48 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-12  4:53 [PATCH v3 net-next] net-gro: Prepare GRO stack for the upcoming tunneling support H.K. Jerry Chu
2013-12-12 18:48 ` David Miller
2013-12-12 23:48   ` Jerry Chu [this message]
2013-12-14  6:29 ` [PATCH net-next] ipv6: fix compiler warning in ipv6_exthdrs_len Hannes Frederic Sowa
2013-12-14  7:02   ` David Miller
2013-12-15 16:20     ` Jerry Chu
2013-12-15 17:18       ` [PATCH net-next] ipv6: revert misguided compiler warning fix on ipv6_exthdrs_len Hannes Frederic Sowa
2013-12-15 17:23         ` Hannes Frederic Sowa
2013-12-16  1:31           ` David Miller

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=CAPshTCj-N6d0astJAQZa-qqCCgdcidbjsNLCZcydsw8EAH1hsw@mail.gmail.com \
    --to=hkchu@google.com \
    --cc=bhutchings@solarflare.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=netdev@vger.kernel.org \
    --cc=ogerlitz@mellanox.com \
    --cc=ranjitm@google.com \
    /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).