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

Reply via email to