Page MenuHomeFreeBSD

D33979.id101921.diff
No OneTemporary

D33979.id101921.diff

Index: sys/netinet/tcp_input.c
===================================================================
--- sys/netinet/tcp_input.c
+++ sys/netinet/tcp_input.c
@@ -1648,8 +1648,10 @@
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))
+ else if (tp->t_rxtshift == 1 &&
+ tp->t_flags & TF_PREVVALID &&
+ tp->t_badrxtwin != 0 &&
+ TSTMP_LT(to.to_tsecr, tp->t_badrxtwin))
cc_cong_signal(tp, th, CC_RTO_ERR);
}
/*
@@ -1806,7 +1808,8 @@
if ((to.to_flags & TOF_TS) == 0 &&
tp->t_rxtshift == 1 &&
tp->t_flags & TF_PREVVALID &&
- (int)(ticks - tp->t_badrxtwin) < 0) {
+ tp->t_badrxtwin != 0 &&
+ TSTMP_LT(ticks, tp->t_badrxtwin)) {
cc_cong_signal(tp, th, CC_RTO_ERR);
}
@@ -2883,8 +2886,9 @@
*/
if (tp->t_rxtshift == 1 &&
tp->t_flags & TF_PREVVALID &&
- tp->t_badrxtwin &&
- SEQ_LT(to.to_tsecr, tp->t_badrxtwin))
+ tp->t_badrxtwin != 0 &&
+ to.to_flags & TOF_TS &&
+ TSTMP_LT(to.to_tsecr, tp->t_badrxtwin))
cc_cong_signal(tp, th, CC_RTO_ERR);
/*

File Metadata

Mime Type
text/plain
Expires
Sat, Nov 9, 7:18 AM (11 h, 12 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14515738
Default Alt Text
D33979.id101921.diff (1 KB)

Event Timeline