[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e6b0bbf7-559e-e86a-aaf7-c64b713dfaa8@gmail.com>
Date: Mon, 2 Apr 2018 08:19:55 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Eran Ben Elisha <eranlinuxmellanox@...il.com>,
Eric Dumazet <eric.dumazet@...il.com>
Cc: Tariq Toukan <tariqt@...lanox.com>,
"David S. Miller" <davem@...emloft.net>,
Linux Netdev List <netdev@...r.kernel.org>,
Eran Ben Elisha <eranbe@...lanox.com>,
Eric Dumazet <edumazet@...gle.com>
Subject: Re: [PATCH net-next] net: ipv6/gre: Add GRO support
On 04/02/2018 08:00 AM, Eran Ben Elisha wrote:
>>>> Seems good, but why isn't this handled directly in GRO native layer ?
>>> ip6_tunnel and ip6_gre do not share initialization flow functions (unlike ipv4).
>>> Changing the ipv6 init infrastructure should not be part of this
>>> patch. we prefer to keep this one minimal, simple and safe.
>>
>>
>>
>> Looking at gre_gro_receive() and gre_gro_complete() I could not see why they
>> could not be copied/pasted to IPv6.
>
> These functions to handle GRO over GRE are already assigned in
> gre_offload_init() (in net/ipv4/gre_offload.c under CONFIG_IPV6).
> However without initializing the gro_cells, the receive path will not
> go via napi_gro_receive path, but directly to netif_rx.
> So AFAIU, only gcells->cells was missing for gro_cells_receive to
> really go via GRO flow.
>
>>
>> Maybe give more details on the changelog, it is really not obvious.
> Hopefully the above filled this request.
>>
Not really :/
gro_cells_receive() is not really useful with native GRO, since packet is already
a GRO packet by the time it reaches ip_tunnel_rcv() or __ip6_tnl_rcv()
Sure, it might be usefull if native GRO (happening on eth0 if you prefer) did not
handle a particular encapsulation.
gro_cell was a work around before we extended GRO to be able to decap some tunnel headers.
It seems we have to extend this to also support GRE6.
Powered by blists - more mailing lists