Skip to content
  • Randall Stewart's avatar
    tcp: TCP_LRO getting bad checksums and sending it in to TCP incorrectly. · ca1a7e10
    Randall Stewart authored
    In reviewing tcp_lro.c we have a possibility that some drives may send a mbuf into
    LRO without making sure that the checksum passes. Some drivers actually are
    aware of this and do not call lro when the csum failed, others do not do this and
    thus could end up sending data up that we think has a checksum passing when
    it does not.
    
    This change will fix that situation by properly verifying that the mbuf
    has the correct markings (CSUM VALID bits as well as csum in mbuf header
    is set to 0xffff).
    
    Reviewed by: tuexen, hselasky, gallatin
    Sponsored by: Netflix Inc.
    Differential Revision: https://reviews.freebsd.org/D31155
    ca1a7e10