diff options
author | Markus Friedl <markus@cvs.openbsd.org> | 2005-03-04 13:21:43 +0000 |
---|---|---|
committer | Markus Friedl <markus@cvs.openbsd.org> | 2005-03-04 13:21:43 +0000 |
commit | 8ddcb72dc7ee3bc6f342154450eb4f4dbdd335ed (patch) | |
tree | 74f04254f2a51f9f808b08a25c2106d8e59b6b0b /sys/netinet/tcp_subr.c | |
parent | c763a88676abb3b0bcb0f854735526fa5b475aa6 (diff) |
- check th_ack against snd_una/max; from Raja Mukerji via hugh@
- limit pool to tcp_sackhole_limit entries (sysctl-able)
- stop sack option processing on pool_get errors
- use SEQ_MIN/SEQ_MAX
ok henning, hshoexer, deraadt
Diffstat (limited to 'sys/netinet/tcp_subr.c')
-rw-r--r-- | sys/netinet/tcp_subr.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 5eb89f30462..b4c6805ddc3 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tcp_subr.c,v 1.87 2005/02/27 13:22:56 markus Exp $ */ +/* $OpenBSD: tcp_subr.c,v 1.88 2005/03/04 13:21:42 markus Exp $ */ /* $NetBSD: tcp_subr.c,v 1.22 1996/02/13 23:44:00 christos Exp $ */ /* @@ -149,6 +149,9 @@ int tcp_syn_bucket_limit = 3*TCP_SYN_BUCKET_SIZE; struct syn_cache_head tcp_syn_cache[TCP_SYN_HASH_SIZE]; int tcp_reass_limit = NMBCLUSTERS / 2; /* hardlimit for tcpqe_pool */ +#ifdef TCP_SACK +int tcp_sackhole_limit = 32*1024; /* hardlimit for sackhl_pool */ +#endif #ifdef INET6 extern int ip6_defhlim; @@ -180,6 +183,7 @@ tcp_init() #ifdef TCP_SACK pool_init(&sackhl_pool, sizeof(struct sackhole), 0, 0, 0, "sackhlpl", NULL); + pool_sethardlimit(&sackhl_pool, tcp_sackhole_limit, NULL, 0); #endif /* TCP_SACK */ in_pcbinit(&tcbtable, tcbhashsize); |