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