• Jason Wang's avatar
    tuntap: set transport header before passing it to kernel · 38502af7
    Jason Wang authored
    Currently, for the packets receives from tuntap, before doing header check,
    kernel just reset the transport header in netif_receive_skb() which pretends no
    l4 header. This is suboptimal for precise packet length estimation (introduced
    in 1def9238) which needs correct l4 header for gso packets.
    
    So this patch set the transport header to csum_start for partial checksum
    packets, otherwise it first try skb_flow_dissect(), if it fails, just reset the
    transport header.
    
    Cc: Eric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    38502af7
tun.c 54.1 KB