mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-16 04:46:27 +08:00
Update to FreeBSD head 2018-06-01
Git mirror commit fb63610a69b0eb7f69a201ba05c4c1a7a2739cf9. Update #3472.
This commit is contained in:
@@ -1684,6 +1684,9 @@ tcp_do_segment(struct mbuf *m, struct tcphdr *th, struct socket *so,
|
||||
to.to_tsecr -= tp->ts_offset;
|
||||
if (TSTMP_GT(to.to_tsecr, tcp_ts_getticks()))
|
||||
to.to_tsecr = 0;
|
||||
else if (tp->t_flags & TF_PREVVALID &&
|
||||
tp->t_badrxtwin != 0 && SEQ_LT(to.to_tsecr, tp->t_badrxtwin))
|
||||
cc_cong_signal(tp, th, CC_RTO_ERR);
|
||||
}
|
||||
/*
|
||||
* Process options only when we get SYN/ACK back. The SYN case
|
||||
@@ -1796,9 +1799,10 @@ tcp_do_segment(struct mbuf *m, struct tcphdr *th, struct socket *so,
|
||||
TCPSTAT_INC(tcps_predack);
|
||||
|
||||
/*
|
||||
* "bad retransmit" recovery.
|
||||
* "bad retransmit" recovery without timestamps.
|
||||
*/
|
||||
if (tp->t_rxtshift == 1 &&
|
||||
if ((to.to_flags & TOF_TS) == 0 &&
|
||||
tp->t_rxtshift == 1 &&
|
||||
tp->t_flags & TF_PREVVALID &&
|
||||
(int)(ticks - tp->t_badrxtwin) < 0) {
|
||||
cc_cong_signal(tp, th, CC_RTO_ERR);
|
||||
@@ -2789,8 +2793,10 @@ process_ACK:
|
||||
* original cwnd and ssthresh, and proceed to transmit where
|
||||
* we left off.
|
||||
*/
|
||||
if (tp->t_rxtshift == 1 && tp->t_flags & TF_PREVVALID &&
|
||||
(int)(ticks - tp->t_badrxtwin) < 0)
|
||||
if (tp->t_rxtshift == 1 &&
|
||||
tp->t_flags & TF_PREVVALID &&
|
||||
tp->t_badrxtwin &&
|
||||
SEQ_LT(to.to_tsecr, tp->t_badrxtwin))
|
||||
cc_cong_signal(tp, th, CC_RTO_ERR);
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user