[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20160321.145014.2053938894183716531.davem@davemloft.net>
Date: Mon, 21 Mar 2016 14:50:14 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: aduyck@...antis.com
Cc: ecree@...arflare.com, netdev@...r.kernel.org,
alexander.duyck@...il.com, tom@...bertland.com
Subject: Re: [RFC PATCH 0/9] RFC6864 compliant GRO and GSO partial offload
From: Alexander Duyck <aduyck@...antis.com>
Date: Fri, 18 Mar 2016 16:24:38 -0700
> This patch series addresses two things.
>
> First it enables what I am calling RFC6864 compliant GRO. Basically what
> I am doing is allowing one of two patterns for incoming frames. Either the
> IP ID will increment, or if the DF bit is set it can either increment or
> stay the same value. This allows us to perform GRO if the IP ID is forced
> to stay at a static value as may occur if we are replicating an IP header
> instead of actually having it offloaded.
>
> The last 3 patches introduce what I am calling GSO partial. The best way
> to describe it is that it is a GSO offload in which the portion pointed to
> by csum_start must be handled by the hardware, and the region before that
> can be optionally handled. So for example with i40e the only pieces it was
> missing from the full offload was the checksum so this is computed in
> software and the hardware will update inner and outer IP headers. In the
> example for ixgbe the hardware will only update the outer IP header. The
> outer UDP or GRE header and inner IP header are unmodified.
Conceptually I am completely fine with these changes.
> The one concern here is that if the outer IP header does not have
> the DF bit set and does not update the IP ID field we run the risk
> of causing all sorts of problems if the packet is fragmented in
> flight.
I think we absolutely cannot let such a packet be output from our
stack.
Powered by blists - more mailing lists