summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_timer.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Historically there were slow and fast tcp timeouts. That is whybluhm2018-05-081-6/+12
| | | | | | the delack timer had a different implementation. Use the same mechanism for all TCP timer. OK mpi@ visa@
* Historically TCP timeouts were implemented with pr_slowtimo andbluhm2018-02-071-3/+4
| | | | | | | | pr_fasttimo. That is the reason why we have two timeout mechanisms with complicated ticks calculation. Move the delay ACK timeout to milliseconds and remove some ticks and hz mess from the others. This makes it easier to see the actual values. OK florian@ dhill@ dlg@
* There was a race in the TCP timers. As they may sleep to grab thebluhm2018-02-061-4/+10
| | | | | | | | | | | netlock, timers may still run after they have been disarmed. Deleting the timeout is not sufficient to cancel them, but the code from 4.4 BSD is assuming this. The solution is to add a flag for every timer to see whether it has been armed or canceled. Remove the TF_DEAD check as tcp_canceltimers() is called before the reaper timer is fired. Cancelation works reliably now. OK mpi@
* The TCP reaper timeout was still imlemented as soft timeout. Sobluhm2018-01-231-4/+5
| | | | | | | | | | | it could run immediately and was not synchronized with the TCP timeouts, although that was the intension when it was introduced in revision 1.85. Convert the reaper to an ordinary TCP timeout so it is scheduled on the same timeout thread after all timeouts have finished. A net lock is not necessary as the process calling tcp_close() will not access the tcpcb after arming the reaper timeout. OK mikeb@
* Convert timeouts that need a process context to timeout_set_proc(9).mpi2016-10-041-2/+2
| | | | | | | The current reason is that rtalloc_mpath(9) inside ip_output() might end up inserting a RTF_CLONED route and that require a write lock. ok kettenis@, bluhm@
* Add sysctl net.inet.tcp.always_keepalive, when this is set the systemsthen2011-07-061-1/+2
| | | | | | | | | | | behaves as if SO_KEEPALIVE was set on all TCP sockets, forcing keepalives to be sent every net.inet.tcp.keepidle half-seconds. In conjunction with a keepidle value greatly reduced from the default, this can be useful for keeping sessions open if you are stuck on a network with short NAT or firewall timeouts. Feedback from various people, ok henning@ claudio@
* fix macros up so they use the do { } while (/* CONSTCOND */ 0) idiomdlg2008-11-081-8/+9
| | | | ok deraadt@ otto@
* some spelling fixes from Martynas Venckusjmc2007-11-241-3/+3
|
* Remove the advertising clause in the UCB license which Berkeleymillert2003-06-021-6/+2
| | | | rescinded 22 July 1999. Proofed by myself and Theo.
* another const char * from David Hillhenning2003-03-281-2/+2
|
* use timeout(9) to schedule TCP timers. this avoid traversing allprovos2002-03-081-5/+9
| | | | tcp connections during tcp_slowtimo. apdapted from thorpej@netbsd.org
* remove tcp_fasttimo and convert delayed acks to the timeout(9) API instead.provos2002-03-011-1/+5
| | | | adapated from netbsd. okay angelos@
* typoprovos2002-01-141-2/+2
|
* use macros to manage tcp timers; based on netbsdprovos2002-01-141-1/+16
|
* Inclusion protection.angelos2001-06-091-3/+7
|
* OpenBSD tags + some prototyping policeniklas1997-02-241-0/+1
|
* fix tuba after synbomb fixesderaadt1996-09-231-0/+1
|
* initial import of NetBSD treederaadt1995-10-181-0/+130