From: Alexander Duyck <adu...@mirantis.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.

Reply via email to