summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_timewait.c
diff options
context:
space:
mode:
authorps <ps@FreeBSD.org>2005-04-10 05:21:29 +0000
committerps <ps@FreeBSD.org>2005-04-10 05:21:29 +0000
commitf6d14de55c90b68a7b8c2be07727978a4da1f908 (patch)
treefd747c3b15a704ba41bdf6b37c511b45c23706df /sys/netinet/tcp_timewait.c
parentae82590cf6402be3c3976edc7a1cba852207a8c9 (diff)
downloadFreeBSD-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_timewait.c')
-rw-r--r--sys/netinet/tcp_timewait.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/netinet/tcp_timewait.c b/sys/netinet/tcp_timewait.c
index ed5eab3..3516c74 100644
--- a/sys/netinet/tcp_timewait.c
+++ b/sys/netinet/tcp_timewait.c
@@ -806,6 +806,7 @@ tcp_drain()
tcpb->t_segqlen--;
tcp_reass_qsize--;
}
+ tcp_clean_sackreport(tcpb);
}
INP_UNLOCK(inpb);
}
OpenPOWER on IntegriCloud