• Alex Elder's avatar
    net: ipa: add support for inline checksum offload · 5567d4d9
    Alex Elder authored
    Starting with IPA v4.5, IP payload checksum offload is implemented
    differently.
    
    Prior to v4.5, the IPA hardware appends an rmnet_map_dl_csum_trailer
    structure to each packet if checksum offload is enabled in the
    download direction (modem->AP).  In the upload direction (AP->modem)
    a rmnet_map_ul_csum_header structure is prepended before each sent
    packet.
    
    Starting with IPA v4.5, checksum offload is implemented using a
    single new rmnet_map_v5_csum_header structure which sits between
    the QMAP header and the packet data.  The same header structure
    is used in both directions.
    
    The new header contains a header type (CSUM_OFFLOAD); a checksum
    flag; and a flag indicating whether any other headers follow this
    one.  The checksum flag indicates whether the hardware should
    compute (and insert) the checksum on a sent packet.  On a received
    packet the checksum flag indicates whether the hardware confirms the
    checksum value in the payload is correct.
    Signed-off-by: default avatarAlex Elder <elder@linaro.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5567d4d9
ipa_endpoint.c 52.6 KB