• Yuchung Cheng's avatar
    tcp: remove RFC4653 NCR · ac229dca
    Yuchung Cheng authored
    This patch removes the (partial) implementation of the aggressive
    limited transmit in RFC4653 TCP Non-Congestion Robustness (NCR).
    
    NCR is a mitigation to the problem created by the dynamic
    DUPACK threshold.  With the current adaptive DUPACK threshold
    (tp->reordering) could cause timeouts by preventing fast recovery.
    For example, if the last packet of a cwnd burst was reordered, the
    threshold will be set to the size of cwnd. But if next application
    burst is smaller than threshold and has drops instead of reorderings,
    the sender would not trigger fast recovery but instead resorts to a
    timeout recovery.
    
    NCR mitigates this issue by checking the number of DUPACKs against
    the current flight size additionally. The techniqueue is similar to
    the early retransmit RFC.
    
    With RACK loss detection, this mitigation is not needed, because RACK
    does not use DUPACK threshold to detect losses. RACK arms a reordering
    timer to fire at most a quarter RTT later to start fast recovery.
    Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
    Signed-off-by: default avatarNeal Cardwell <ncardwell@google.com>
    Acked-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ac229dca
tcp_input.c 183 KB