diff options
author | ps <ps@FreeBSD.org> | 2005-04-10 05:21:29 +0000 |
---|---|---|
committer | ps <ps@FreeBSD.org> | 2005-04-10 05:21:29 +0000 |
commit | f6d14de55c90b68a7b8c2be07727978a4da1f908 (patch) | |
tree | fd747c3b15a704ba41bdf6b37c511b45c23706df /sys/netinet/tcp_subr.c | |
parent | ae82590cf6402be3c3976edc7a1cba852207a8c9 (diff) | |
download | FreeBSD-src-f6d14de55c90b68a7b8c2be07727978a4da1f908.zip FreeBSD-src-f6d14de55c90b68a7b8c2be07727978a4da1f908.tar.gz |
- If the reassembly queue limit was reached or if we couldn't allocate
a reassembly queue state structure, don't update (receiver) sack
report.
- Similarly, if tcp_drain() is called, freeing up all items on the
reassembly queue, clean the sack report.
Found, Submitted by: Noritoshi Demizu <demizu at dd dot iij4u dot or dot jp>
Reviewed by: Mohan Srinivasan (mohans at yahoo-inc dot com),
Raja Mukerji (raja at moselle dot com).
Diffstat (limited to 'sys/netinet/tcp_subr.c')
-rw-r--r-- | sys/netinet/tcp_subr.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index ed5eab3..3516c74 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -806,6 +806,7 @@ tcp_drain() tcpb->t_segqlen--; tcp_reass_qsize--; } + tcp_clean_sackreport(tcpb); } INP_UNLOCK(inpb); } |