REALLY only update the window when we get an ACK. (the old code seemed broken)
This commit is contained in:
parent
67b7e0e590
commit
25d32ef34d
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: tcp_input.c,v 1.75 1999/01/24 01:19:28 thorpej Exp $ */
|
/* $NetBSD: tcp_input.c,v 1.76 1999/02/04 22:58:37 explorer Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* Copyright (c) 1997, 1998, 1999 The NetBSD Foundation, Inc.
|
* Copyright (c) 1997, 1998, 1999 The NetBSD Foundation, Inc.
|
||||||
@ -1379,9 +1379,9 @@ step6:
|
|||||||
* Update window information.
|
* Update window information.
|
||||||
* Don't look at window if no ACK: TAC's send garbage on first SYN.
|
* Don't look at window if no ACK: TAC's send garbage on first SYN.
|
||||||
*/
|
*/
|
||||||
if (((tiflags & TH_ACK) && SEQ_LT(tp->snd_wl1, ti->ti_seq)) ||
|
if ((tiflags & TH_ACK) && (SEQ_LT(tp->snd_wl1, ti->ti_seq) ||
|
||||||
(tp->snd_wl1 == ti->ti_seq && SEQ_LT(tp->snd_wl2, ti->ti_ack)) ||
|
(tp->snd_wl1 == ti->ti_seq && SEQ_LT(tp->snd_wl2, ti->ti_ack)) ||
|
||||||
(tp->snd_wl2 == ti->ti_ack && tiwin > tp->snd_wnd)) {
|
(tp->snd_wl2 == ti->ti_ack && tiwin > tp->snd_wnd))) {
|
||||||
/* keep track of pure window updates */
|
/* keep track of pure window updates */
|
||||||
if (ti->ti_len == 0 &&
|
if (ti->ti_len == 0 &&
|
||||||
tp->snd_wl2 == ti->ti_ack && tiwin > tp->snd_wnd)
|
tp->snd_wl2 == ti->ti_ack && tiwin > tp->snd_wnd)
|
||||||
|
Loading…
Reference in New Issue
Block a user