• 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