]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Update tcp_lro with tested bugfixes from Netflix and LLNW:
authorsbruno <sbruno@FreeBSD.org>
Fri, 9 Mar 2018 00:08:43 +0000 (00:08 +0000)
committersbruno <sbruno@FreeBSD.org>
Fri, 9 Mar 2018 00:08:43 +0000 (00:08 +0000)
commitfcab00faddc6da59f54d84c357cad6a3929c0e0a
tree9d245eb923726b04d2810cef4691bb945485e979
parent887aed6d15b5314d862624aed0b06028d87ca213
Update tcp_lro with tested bugfixes from Netflix and LLNW:

    rrs - Lets make the LRO code look for true dup-acks and window update acks
          fly on through and combine.
    rrs - Make the LRO engine a bit more aware of ack-only seq space. Lets not
          have it incorrectly wipe out newer acks for older acks when we have
          out-of-order acks (common in wifi environments).
    jeggleston - LRO eating window updates

Based on all of the above I think we are RFC compliant doing it this way:

https://tools.ietf.org/html/rfc1122

section 4.2.2.16

"Note that TCP has a heuristic to select the latest window update despite
possible datagram reordering; as a result, it may ignore a window update with
a smaller window than previously offered if neither the sequence number nor the
acknowledgment number is increased."

Submitted by: Kevin Bowling <kevin.bowling@kev009.com>
Reviewed by: rstone gallatin
Sponsored by: NetFlix and Limelight Networks
Differential Revision: https://reviews.freebsd.org/D14540
sys/netinet/tcp_lro.c
sys/netinet/tcp_seq.h