|
@@ -2250,14 +2250,19 @@ static inline void tcp_moderate_cwnd(struct tcp_sock *tp)
|
|
|
tp->snd_cwnd_stamp = tcp_time_stamp;
|
|
|
}
|
|
|
|
|
|
+static bool tcp_tsopt_ecr_before(const struct tcp_sock *tp, u32 when)
|
|
|
+{
|
|
|
+ return tp->rx_opt.saw_tstamp && tp->rx_opt.rcv_tsecr &&
|
|
|
+ before(tp->rx_opt.rcv_tsecr, when);
|
|
|
+}
|
|
|
+
|
|
|
/* Nothing was retransmitted or returned timestamp is less
|
|
|
* than timestamp of the first retransmission.
|
|
|
*/
|
|
|
static inline bool tcp_packet_delayed(const struct tcp_sock *tp)
|
|
|
{
|
|
|
return !tp->retrans_stamp ||
|
|
|
- (tp->rx_opt.saw_tstamp && tp->rx_opt.rcv_tsecr &&
|
|
|
- before(tp->rx_opt.rcv_tsecr, tp->retrans_stamp));
|
|
|
+ tcp_tsopt_ecr_before(tp, tp->retrans_stamp);
|
|
|
}
|
|
|
|
|
|
/* Undo procedures. */
|