K 10 svn:author V 6 dillon K 8 svn:date V 27 2002-08-16T22:16:39.000000Z K 7 svn:log V 1589 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. END