• Alexander Duyck's avatar
    GRE: Disable segmentation offloads w/ CSUM and we are encapsulated via FOU · a0ca153f
    Alexander Duyck authored
    This patch fixes an issue I found in which we were dropping frames if we
    had enabled checksums on GRE headers that were encapsulated by either FOU
    or GUE.  Without this patch I was barely able to get 1 Gb/s of throughput.
    With this patch applied I am now at least getting around 6 Gb/s.
    
    The issue is due to the fact that with FOU or GUE applied we do not provide
    a transport offset pointing to the GRE header, nor do we offload it in
    software as the GRE header is completely skipped by GSO and treated like a
    VXLAN or GENEVE type header.  As such we need to prevent the stack from
    generating it and also prevent GRE from generating it via any interface we
    create.
    
    Fixes: c3483384 ("gro: Allow tunnel stacking in the case of FOU/GUE")
    Signed-off-by: default avatarAlexander Duyck <aduyck@mirantis.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a0ca153f
ip_gre.c 34.2 KB