diff options
author | Paul Saab <ps@FreeBSD.org> | 2005-07-01 22:54:18 +0000 |
---|---|---|
committer | Paul Saab <ps@FreeBSD.org> | 2005-07-01 22:54:18 +0000 |
commit | 482ac96888500dd0a1c023b5dff15278917fc295 (patch) | |
tree | 325c8ae69951a69b3870d149ce2f14048e85f0f9 /sys/netinet/tcp_timewait.c | |
parent | 69e03620198499795cc0b0b7b0e18035376a9e23 (diff) | |
download | src-482ac96888500dd0a1c023b5dff15278917fc295.tar.gz src-482ac96888500dd0a1c023b5dff15278917fc295.zip |
Fix for a bug in the change that defers sack option processing until
after PAWS checks. The symptom of this is an inconsistency in the cached
sack state, caused by the fact that the sack scoreboard was not being
updated for an ACK handled in the header prediction path.
Found by: Andrey Chernov.
Submitted by: Noritoshi Demizu, Raja Mukerji.
Approved by: re
Notes
Notes:
svn path=/head/; revision=147735
Diffstat (limited to 'sys/netinet/tcp_timewait.c')
-rw-r--r-- | sys/netinet/tcp_timewait.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/netinet/tcp_timewait.c b/sys/netinet/tcp_timewait.c index 3adc16ee5469..8376b0713704 100644 --- a/sys/netinet/tcp_timewait.c +++ b/sys/netinet/tcp_timewait.c @@ -605,8 +605,7 @@ tcp_newtcpcb(inp) if (tcp_do_rfc1323) tp->t_flags = (TF_REQ_SCALE|TF_REQ_TSTMP); tp->sack_enable = tcp_do_sack; - if (tp->sack_enable) - TAILQ_INIT(&tp->snd_holes); + TAILQ_INIT(&tp->snd_holes); tp->t_inpcb = inp; /* XXX */ /* * Init srtt to TCPTV_SRTTBASE (0), so we can tell that we have no |