summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_timer.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Say goodbye to TCP_COMPAT_42jesper2001-04-201-15/+0
| | | | | Reviewed by: wollman Requested by: wollman
* Randomize the TCP initial sequence numbers more thoroughly.kris2001-04-171-1/+1
| | | | | Obtained from: OpenBSD Reviewed by: jesper, peter, -developers
* Use more aggressive retransmit timeouts for the initial SYN packet.jlemon2001-02-261-1/+7
| | | | | As we currently drop the connection after 4 retransmits + 2 ICMP errors, this allows initial connection attempts to be dropped much faster.
* If TCPDEBUG is defined, we could dereference a tp which was freed.jlemon2000-10-021-1/+1
|
* It is possible for a TCP callout to be removed from the timing wheel,jlemon2000-09-161-5/+5
| | | | | | but have a network interrupt arrive and deactivate the timeout before the callout routine runs. Check for this case in the callout routine; it should only run if the callout is active and not on the wheel.
* Previous commit changing SYSCTL_HANDLER_ARGS violated KNF.phk2000-07-041-1/+1
| | | | Pointed out by: bde
* Style police catches up with rev 1.26 of src/sys/sys/sysctl.h:phk2000-07-031-1/+1
| | | | | | | | Sanitize SYSCTL_HANDLER_ARGS so that simplistic tools can grog our sources: -sysctl_vm_zone SYSCTL_HANDLER_ARGS +sysctl_vm_zone (SYSCTL_HANDLER_ARGS)
* Implement TCP NewReno, as documented in RFC 2582. This allowsjlemon2000-05-061-0/+5
| | | | | | | | better recovery for multiple packet losses in a single window. The algorithm can be toggled via the sysctl net.inet.tcp.newreno, which defaults to "on". Submitted by: Jayanth Vijayaraghavan <jayanth@yahoo-inc.com>
* tcp updates to support IPv6.shin2000-01-091-7/+18
| | | | | | | also a small patch to sys/nfs/nfs_socket.c, as max_hdr size change. Reviewed by: freebsd-arch, cvs-committers Obtained from: KAME project
* Simplify, and return an error if the user attempts to set a TCPjlemon1999-08-311-7/+3
| | | | | | time value which results in < 1 tick. Suggested by: bde
* Add a SYSCTL_PROC so that TCP timer values are now expressed tojlemon1999-08-311-10/+35
| | | | | | the user in ms, while they are stored internally as ticks. Note that there probably are rounding bogons here, especially on the alpha.
* Restructure TCP timeout handling:jlemon1999-08-301-223/+287
| | | | | | | | | | - eliminate the fast/slow timeout lists for TCP and instead use a callout entry for each timer. - increase the TCP timer granularity to HZ - implement "bad retransmit" recovery, as presented in "On Estimating End-to-End Network Path Properties", by Allman and Paxson. Submitted by: jlemon, wollmann
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Add sysctl descriptions to many SYSCTL_XXXsbillf1999-05-031-3/+3
| | | | | | | PR: kern/11197 Submitted by: Adrian Chadd <adrian@FreeBSD.org> Reviewed by: billf(spelling/style/minor nits) Looked at by: bde(style)
* Ensure that TCP_REXMTVAL doesn't return a value less than t_rttmin. Thisdg1998-04-241-12/+7
| | | | | | | | | | | is believed to have been broken with the Brakmo/Peterson srtt calculation changes. The result of this bug is that TCP connections could time out extremely quickly (in 12 seconds). Also backed out jdp's partial fix for this problem in rev 1.17 of tcp_timer.c as it is obsoleted by this commit. Bug was pointed out by Kevin Lehey <kml@roller.nas.nasa.gov>. PR: 6068
* Remove the last traces of TUBA.phk1998-04-061-8/+1
| | | | Inspired by: PR kern/3317
* Changes to support the addition of a new sysctl variable:dg1998-02-261-11/+12
| | | | | | net.inet.tcp.delack_enabled Which defaults to 1 and can be set to 0 to disable TCP delayed-ack processing (i.e. all acks are immediate).
* Make TCP_COMPAT_42 a new style option.eivind1998-01-251-1/+2
|
* Make TCPDEBUG a new-style option.joerg1997-09-161-1/+3
|
* Removed unused #includes.bde1997-08-021-7/+1
|
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-221-1/+1
| | | | ready for it yet.
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-141-1/+1
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* Make the misnamed tcp initial keepalive timer value (which is really thepst1996-09-131-1/+5
| | | | | | | | time, in seconds, that state for non-established TCP sessions stays about) a sysctl modifyable variable. [part 1 of two commits, I just realized I can't play with the indices as I was typing this commit message.]
* Fixed two bugs in previous commit: be sure to include tcp_debug.h whendg1996-07-121-1/+4
| | | | TCPDEBUG is defined, and fix typo in TCPDEBUG2() macro.
* Modify the kernel to use the new pr_usrreqs interface rather than the oldwollman1996-07-111-4/+16
| | | | | | | | | | | | | | pr_usrreq mechanism which was poorly designed and error-prone. This commit renames pr_usrreq to pr_ousrreq so that old code which depended on it would break in an obvious manner. This commit also implements the new interface for TCP, although the old function is left as an example (#ifdef'ed out). This commit ALSO fixes a longstanding bug in the TCP timer processing (introduced by davidg on 1995/04/12) which caused timer processing on a TCB to always stop after a single timer had expired (because it misinterpreted the return value from tcp_usrreq() to indicate that the TCB had been deleted). Finally, some code related to polling has been deleted from if.c because it is not relevant t -current and doesn't look at all like my current code.
* Fix a bug in the handling of the "persist" state which, under certainjdp1996-06-031-7/+12
| | | | | | | | | | circumstances, caused perfectly good connections to be dropped. This happened for connections over a LAN, where the retransmit timer calculation TCP_REXMTVAL(tp) returned 0. If sending was blocked by flow control for long enough, the old code dropped the connection, even though timely replies were being received for all window probes. Reviewed by: W. Richard Stevens <rstevens@noao.edu>
* Two fixes from Rich Stevens:dg1996-04-151-2/+2
| | | | | | | | | 1) Set the persist timer to help time-out connections in the CLOSING state. 2) Honor the keep-alive timer in the CLOSING state. This fixes problems with connections getting "stuck" due to incompletion of the final connection shutdown which can be a BIG problem on busy WWW servers.
* Add a sysctl (net.inet.tcp.always_keepalive: 0) that when set will forcephk1996-04-041-2/+7
| | | | | | keepalive on all tcp sessions. Setsockopt(2) cannot override this setting. Maybe another one is needed that just changes the default for SO_KEEPALIVE ? Requested by: Joe Greco <jgreco@brasil.moneng.mei.com>
* Move or add #include <queue.h> in preparation for upcoming struct socketdg1996-03-111-2/+2
| | | | changes.
* Reverse the modification which caused the annoying m_copydata crash: setolah1996-01-041-1/+5
| | | | | | the TF_ACKNOW flag when the REXMT timer goes off to force a retransmission. In certain situations pulling snd_nxt back to snd_una is not sufficient.
* New style sysctl & staticize alot of stuff.phk1995-11-141-6/+8
|
* Start adding new style sysctl here too.phk1995-11-091-1/+9
|
* Setting the TF_ACKNOW flag was redundant in the REXMT timeout becauseolah1995-11-031-5/+1
| | | | | | | tcp_output() checks for the condition snd_nxt == snd_una. Reviewed by: davidg, wollman, olah Suggested by: Richard Stevens
* Finish 4.4-Lite-2 merge: randomize TCP initial sequence numberswollman1995-10-031-8/+16
| | | | to make ISS-guessing spoofing attacks harder.
* Add connection drop capability for persist timeouts.dg1995-07-291-1/+17
| | | | | Reviewed by: Andras Olah Obtained from: 4.4BSD-lite2 via W. Richard Stevens
* Remove trailing whitespace.rgrimes1995-05-301-2/+2
|
* Fixed bug I introduced when changing PCB list to use 4.4BSD style queuedg1995-04-121-4/+3
| | | | macros. Basically, detect 'tp' going away differently.
* Implemented PCB hashing. Includes new functions in_pcbinshash, in_pcbrehash,dg1995-04-091-14/+19
| | | | and in_pcblookuphash.
* Transaction TCP support now standard. Hack away!wollman1995-02-161-5/+1
|
* Merge Transaction TCP, courtesy of Andras Olah <olah@cs.utwente.nl> andwollman1995-02-091-1/+10
| | | | | | | | | Bob Braden <braden@isi.edu>. NB: This has not had David's TCP ACK hack re-integrated. It is not clear what the correct solution to this problem is, if any. If a better solution doesn't pop up in response to this message, I'll put David's code back in (or he's welcome to do so himself).
* Added $Id$dg1994-08-021-0/+1
|
* BSD 4.4 Lite Kernel Sourcesrgrimes1994-05-241-0/+312
OpenPOWER on IntegriCloud