On Mon, Sep 19, 2016 at 3:58 AM, Steffen Klassert
> Since commit 8a29111c7 ("net: gro: allow to build full sized skb")
> gro may build buffers with a frag_list. This can hurt forwarding
> because most NICs can't offload such packets, they need to be
> segmented in software. This patch splits buffers with a frag_list
> at the frag_list pointer into buffers that can be TSO offloaded.
> Signed-off-by: Steffen Klassert <steffen.klass...@secunet.com>
> Changes since v1:
> - Use the assumption that all buffers in the chain excluding the last
> containing the same amount of data.
> - Simplify some checks against gso partial.
> - Fix the generation of IP IDs.
> Changes since v2:
> - Merge common code of gso partial and frag_list pointer splitting.
> Changes since v3:
> - Fix the checks for doing frag_list pointer splitting.
> Changes since v4:
> - Whitespace fix.
> - Fix size calculations of the tail packet.
> Changes since v5:
> - Fix another size calculations of the tail packet.
> net/core/skbuff.c | 51
> net/ipv4/af_inet.c | 14 ++++++++++----
> net/ipv4/gre_offload.c | 6 ++++--
> net/ipv4/tcp_offload.c | 13 +++++++------
> net/ipv4/udp_offload.c | 6 ++++--
> net/ipv6/ip6_offload.c | 5 ++++-
> 6 files changed, 69 insertions(+), 26 deletions(-)
Acked-by: Alexander Duyck <alexander.h.du...@intel.com>