diff options
| author | Andre Oppermann <andre@FreeBSD.org> | 2007-04-20 13:51:34 +0000 |
|---|---|---|
| committer | Andre Oppermann <andre@FreeBSD.org> | 2007-04-20 13:51:34 +0000 |
| commit | e207f800392a350bd09109fc07d767a1a6e520dd (patch) | |
| tree | a49d8ce2b83617ba81374f679e958eb93d291d8c /sys/netinet/tcp_input.c | |
| parent | 0a5df51410ade938293ea338d950f8145bead68c (diff) | |
Notes
Diffstat (limited to 'sys/netinet/tcp_input.c')
| -rw-r--r-- | sys/netinet/tcp_input.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index e6022b454f96..bf8df6aad53f 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -832,22 +832,22 @@ findpcb: tcp_dooptions(&to, optp, optlen, 0); if (!syncache_expand(&inc, &to, th, &so, m)) { /* - * No syncache entry, or ACK was not + * No syncache entry or ACK was not * for our SYN/ACK. Send a RST. */ - tcpstat.tcps_badsyn++; rstreason = BANDLIM_RST_OPENPORT; goto dropwithreset; } if (so == NULL) { /* - * Could not complete 3-way handshake, - * connection is being closed down, and - * syncache has free'd mbuf. + * We completed the 3-way handshake + * but could not allocate a socket + * either due to memory shortage, + * listen queue length limits or + * global socket limits. */ - INP_UNLOCK(inp); - INP_INFO_WUNLOCK(&tcbinfo); - return; + rstreason = BANDLIM_UNLIMITED; + goto dropwithreset; } /* * Socket is created in state SYN_RECEIVED. |
