diff options
author | ps <ps@FreeBSD.org> | 2005-07-01 22:54:18 +0000 |
---|---|---|
committer | ps <ps@FreeBSD.org> | 2005-07-01 22:54:18 +0000 |
commit | 5c9927b6f683420950af63f0e191d2c4c0f52f2c (patch) | |
tree | 325c8ae69951a69b3870d149ce2f14048e85f0f9 /sys/netinet/tcp_subr.c | |
parent | 513734e2faf1e33963e9b5cf0c68d8398ed8de37 (diff) | |
download | FreeBSD-src-5c9927b6f683420950af63f0e191d2c4c0f52f2c.zip FreeBSD-src-5c9927b6f683420950af63f0e191d2c4c0f52f2c.tar.gz |
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
Diffstat (limited to 'sys/netinet/tcp_subr.c')
-rw-r--r-- | sys/netinet/tcp_subr.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 3adc16e..8376b07 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.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 |