Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Aug 2002 15:16:39 -0700 (PDT)
From:      Matt Dillon <dillon@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/netinet tcp_subr.c tcp_timer.c tcp_timer.h
Message-ID:  <200208162216.g7GMGd6i085952@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
dillon      2002/08/16 15:16:39 PDT

  Modified files:        (Branch: RELENG_4)
    sys/netinet          tcp_subr.c tcp_timer.c tcp_timer.h 
  Log:
  MFC sysctls to control the TCP retransmit timer.  Temporarily default
  net.inet.tcp_rexmit_min to 1000ms (1 second) to maintain prior -stable
  behavior.  The default net.inet.tcp_rexmit_slop (extra time always added to
  the timeout calculation) is 200ms, but effectively obscured by the 1000ms
  minimum.  Setting net.inet.tcp_rexmit_min to a low value such as 12 will
  get you -current's behavior.
  
  This can be somewhat confusing.  The minimum is an unconditional lower bound
  on the retransmit timeout calculation.  The slop is unconditionally added
  to the retransmit timeout calculation PRIOR to the minimum being enforced.
  On faster networks the SRTT calculation becomes less dependable as a means
  of preventing unnecessary retransmissions.  The best protection against this
  is to use the slop parameter to control your nominal interactive
  responsiveness/recovery-base in the face of non-congestion related packet
  loss (e.g. on a wireless network).
  
  Generally speaking current RFCs regarding TCP retransmit behavior want
  a 1 second minimum, but they are so focused on streaming behavior that they
  completely ignore the disaster this causes on faster ( < 500ms ping )
  connections operating interactively, such as when typing in a remote shell
  over a wireless network.  Linux uses a far more reasonable 200ms minimum
  and our -current now does the equivalent (or better) by using 200ms of slop.
  Hopefully -stable will follow with a change to 200ms of slop in the
  near future.  For the moment, if you care, please set net.inet.tcp.rexmit_min
  to a low value (such as 12) in your /etc/sysctl.conf.
  
  Revision   Changes    Path
  1.73.2.27  +3 -1      src/sys/netinet/tcp_subr.c
  1.34.2.13  +8 -0      src/sys/netinet/tcp_timer.c
  1.18.2.1   +15 -3     src/sys/netinet/tcp_timer.h

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200208162216.g7GMGd6i085952>