diff options
author | dg <dg@FreeBSD.org> | 1996-10-07 19:06:12 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1996-10-07 19:06:12 +0000 |
commit | 00503a161c79ade0719914a9a6702edb1b8cf4ce (patch) | |
tree | dae846038cd15c3157337180a5522bad5b374630 /sys/netinet/tcp_reass.c | |
parent | 1d8ea9950b98ea0cc0979fcc4630afb5ba994f6e (diff) | |
download | FreeBSD-src-00503a161c79ade0719914a9a6702edb1b8cf4ce.zip FreeBSD-src-00503a161c79ade0719914a9a6702edb1b8cf4ce.tar.gz |
Improved in_pcblookuphash() to support wildcarding, and changed relavent
callers of it to take advantage of this. This reduces new connection
request overhead in the face of a large number of PCBs in the system.
Thanks to David Filo <filo@yahoo.com> for suggesting this and providing
a sample implementation (which wasn't used, but showed that it could be
done).
Reviewed by: wollman
Diffstat (limited to 'sys/netinet/tcp_reass.c')
-rw-r--r-- | sys/netinet/tcp_reass.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/sys/netinet/tcp_reass.c b/sys/netinet/tcp_reass.c index a31fe9f..3b0bde8 100644 --- a/sys/netinet/tcp_reass.c +++ b/sys/netinet/tcp_reass.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tcp_input.c 8.12 (Berkeley) 5/24/95 - * $Id: tcp_input.c,v 1.51 1996/09/21 06:39:20 pst Exp $ + * $Id: tcp_input.c,v 1.52 1996/10/07 04:32:39 pst Exp $ */ #ifndef TUBA_INCLUDE @@ -357,18 +357,8 @@ tcp_input(m, iphlen) * Locate pcb for segment. */ findpcb: - /* - * First look for an exact match. - */ inp = in_pcblookuphash(&tcbinfo, ti->ti_src, ti->ti_sport, - ti->ti_dst, ti->ti_dport); - /* - * ...and if that fails, do a wildcard search. - */ - if (inp == NULL) { - inp = in_pcblookup(&tcb, ti->ti_src, ti->ti_sport, - ti->ti_dst, ti->ti_dport, INPLOOKUP_WILDCARD); - } + ti->ti_dst, ti->ti_dport, 1); /* * If the state is CLOSED (i.e., TCB does not exist) then |