• Vlad Yasevich's avatar
    mvneta: Fix TSO and checksum for non-acceleration vlan traffic · 817dbfa5
    Vlad Yasevich authored
    This driver doesn't appear to support vlan acceleration at
    all.  However, it does claim to support TSO and IP checksums
    for vlan devices.  Thus any configured vlan device would
    end up passing down partial checksums or TSO frames.
    
    The driver also uses the value from skb->protocol to
    determine TSO and checksum offload information, but assumes
    that skb->protocol holds the l3 protocol information.
    As a result, vlan traffic with partial checksums or TSO
    will fail those checks and TSO will not happen.
    
    Fix this by using vlan_get_protocol() helper.
    
    CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
    Signed-off-by: default avatarVladislav Yasevich <vyasevic@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    817dbfa5
mvneta.c 84.1 KB