cvs commit: src/sys/netinet tcp_input.c tcp_syncache.c tcp_var.h
Andre Oppermann
andre at FreeBSD.org
Mon May 28 11:03:53 UTC 2007
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
More information about the cvs-src
mailing list