• Eric Dumazet's avatar
    net: generalize skb_segment() · 030737bc
    Eric Dumazet authored
    While implementing GSO/TSO support for IPIP, I found skb_segment()
    was assuming network header was immediately following mac header.
    
    Its not really true in the case inet_gso_segment() is stacked :
    By the time tcp_gso_segment() is called, network header points
    to the inner IP header.
    
    Let's instead assume nothing and pick the current offsets found in
    original skb, we have skb_headers_offset_update() helper for that.
    
    Also move the csum_start update inside skb_headers_offset_update()
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    030737bc
skbuff.c 87.8 KB