From: Yuchung Cheng <ych...@google.com> Date: Mon, 18 May 2015 12:31:44 -0700
> Undo based on TCP timestamps should only happen on ACKs that advance > SND_UNA, according to the Eifel algorithm in RFC 3522: > > Section 3.2: > > (4) If the value of the Timestamp Echo Reply field of the > acceptable ACK's Timestamps option is smaller than the > value of RetransmitTS, then proceed to step (5), > > Section Terminology: > We use the term 'acceptable ACK' as defined in [RFC793]. That is an > ACK that acknowledges previously unacknowledged data. > > This is because upon receiving an out-of-order packet, the receiver > returns the last timestamp that advances RCV_NXT, not the current > timestamp of the packet in the DUPACK. Without checking the flag, > the DUPACK will cause tcp_packet_delayed() to return true and > tcp_try_undo_loss() will revert cwnd reduction. > > Note that we check the condition in CA_Recovery already by only > calling tcp_try_undo_partial() if FLAG_SND_UNA_ADVANCED is set or > tcp_try_undo_recovery() if snd_una crosses high_seq. > > Signed-off-by: Yuchung Cheng <ych...@google.com> > Signed-off-by: Neal Cardwell <ncardw...@google.com> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html