Date: Mon, 28 May 2007 11:03:53 +0000 (UTC) From: Andre Oppermann <andre@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/netinet tcp_input.c tcp_syncache.c tcp_var.h Message-ID: <200705281103.l4SB3r37051675@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
andre 2007-05-28 11:03:53 UTC FreeBSD src repository Modified files: sys/netinet tcp_input.c tcp_syncache.c tcp_var.h Log: Refactor and rewrite in parts the SYN handling code on listen sockets in tcp_input(): o tighten the checks on allowed TCP flags to be RFC793 and tcp-secure conform o log check failures to syslog at LOG_DEBUG level o rearrange the code flow to be easier to follow o add KASSERTs to validate assumptions of the code flow Add sysctl net.inet.tcp.syncache.rst_on_sock_fail defaulting to enable that controls the behavior on socket creation failure for a otherwise successful 3-way handshake. The socket creation can fail due to global memory shortage, listen queue limits and file descriptor limits. The sysctl allows to chose between two options to deal with this. One is to send a reset to the other endpoint to notify it about the failure (default). The other one is to ignore and treat the failure as a transient error and have the other endpoint retransmit for another try. Reviewed by: rwatson (in general) Revision Changes Path 1.353 +120 -45 src/sys/netinet/tcp_input.c 1.119 +4 -0 src/sys/netinet/tcp_syncache.c 1.152 +2 -1 src/sys/netinet/tcp_var.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200705281103.l4SB3r37051675>