FreeBSD kernel IPv4 code
|
#include <sys/cdefs.h>
#include "opt_inet.h"
#include "opt_inet6.h"
#include "opt_tcpdebug.h"
#include "opt_rss.h"
#include <sys/param.h>
#include <sys/kernel.h>
#include <sys/lock.h>
#include <sys/mbuf.h>
#include <sys/mutex.h>
#include <sys/protosw.h>
#include <sys/smp.h>
#include <sys/socket.h>
#include <sys/socketvar.h>
#include <sys/sysctl.h>
#include <sys/systm.h>
#include <net/if.h>
#include <net/route.h>
#include <net/rss_config.h>
#include <net/vnet.h>
#include <net/netisr.h>
#include <netinet/in.h>
#include <netinet/in_kdtrace.h>
#include <netinet/in_pcb.h>
#include <netinet/in_rss.h>
#include <netinet/in_systm.h>
#include <netinet/ip_var.h>
#include <netinet/tcp.h>
#include <netinet/tcp_fsm.h>
#include <netinet/tcp_log_buf.h>
#include <netinet/tcp_timer.h>
#include <netinet/tcp_var.h>
#include <netinet/tcp_seq.h>
#include <netinet/cc/cc.h>
#include <netinet/tcpip.h>
Go to the source code of this file.
Functions | |
__FBSDID ("$FreeBSD$") | |
SYSCTL_PROC (_net_inet_tcp, OID_AUTO, persmin, CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_NEEDGIANT, &tcp_persmin, 0, sysctl_msec_to_ticks, "I", "minimum persistence interval") | |
SYSCTL_PROC (_net_inet_tcp, OID_AUTO, persmax, CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_NEEDGIANT, &tcp_persmax, 0, sysctl_msec_to_ticks, "I", "maximum persistence interval") | |
SYSCTL_PROC (_net_inet_tcp, TCPCTL_KEEPINIT, keepinit, CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_NEEDGIANT, &tcp_keepinit, 0, sysctl_msec_to_ticks, "I", "time to establish connection") | |
SYSCTL_PROC (_net_inet_tcp, TCPCTL_KEEPIDLE, keepidle, CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_NEEDGIANT, &tcp_keepidle, 0, sysctl_msec_to_ticks, "I", "time before keepalive probes begin") | |
SYSCTL_PROC (_net_inet_tcp, TCPCTL_KEEPINTVL, keepintvl, CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_NEEDGIANT, &tcp_keepintvl, 0, sysctl_msec_to_ticks, "I", "time between keepalive probes") | |
SYSCTL_PROC (_net_inet_tcp, TCPCTL_DELACKTIME, delacktime, CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_NEEDGIANT, &tcp_delacktime, 0, sysctl_msec_to_ticks, "I", "Time before a delayed ACK is sent") | |
VNET_DEFINE (int, tcp_msl) | |
SYSCTL_PROC (_net_inet_tcp, OID_AUTO, msl, CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_VNET, &VNET_NAME(tcp_msl), 0, sysctl_msec_to_ticks, "I", "Maximum segment lifetime") | |
SYSCTL_PROC (_net_inet_tcp, OID_AUTO, rexmit_initial, CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_NEEDGIANT, &tcp_rexmit_initial, 0, sysctl_msec_to_ticks, "I", "Initial Retransmission Timeout") | |
SYSCTL_PROC (_net_inet_tcp, OID_AUTO, rexmit_min, CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_NEEDGIANT, &tcp_rexmit_min, 0, sysctl_msec_to_ticks, "I", "Minimum Retransmission Timeout") | |
SYSCTL_PROC (_net_inet_tcp, OID_AUTO, rexmit_slop, CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_NEEDGIANT, &tcp_rexmit_slop, 0, sysctl_msec_to_ticks, "I", "Retransmission Timer Slop") | |
VNET_DEFINE (int, tcp_always_keepalive) | |
SYSCTL_INT (_net_inet_tcp, OID_AUTO, always_keepalive, CTLFLAG_VNET|CTLFLAG_RW, &VNET_NAME(tcp_always_keepalive), 0, "Assume SO_KEEPALIVE on all TCP connections") | |
SYSCTL_INT (_net_inet_tcp, OID_AUTO, fast_finwait2_recycle, CTLFLAG_RW, &tcp_fast_finwait2_recycle, 0, "Recycle closed FIN_WAIT_2 connections faster") | |
SYSCTL_PROC (_net_inet_tcp, OID_AUTO, finwait2_timeout, CTLTYPE_INT|CTLFLAG_RW|CTLFLAG_NEEDGIANT, &tcp_finwait2_timeout, 0, sysctl_msec_to_ticks, "I", "FIN-WAIT2 timeout") | |
SYSCTL_INT (_net_inet_tcp, OID_AUTO, keepcnt, CTLFLAG_RW, &tcp_keepcnt, 0, "Number of keepalive probes to send") | |
SYSCTL_INT (_net_inet_tcp, OID_AUTO, rexmit_drop_options, CTLFLAG_RW, &tcp_rexmit_drop_options, 0, "Drop TCP options from 3rd and later retransmitted SYN") | |
VNET_DEFINE (int, tcp_pmtud_blackhole_detect) | |
SYSCTL_INT (_net_inet_tcp, OID_AUTO, pmtud_blackhole_detection, CTLFLAG_RW|CTLFLAG_VNET, &VNET_NAME(tcp_pmtud_blackhole_detect), 0, "Path MTU Discovery Black Hole Detection Enabled") | |
SYSCTL_INT (_net_inet_tcp, OID_AUTO, per_cpu_timers, CTLFLAG_RW, &per_cpu_timers, 0, "run tcp timers on all cpus") | |
int | inp_to_cpuid (struct inpcb *inp) |
void | tcp_slowtimo (void) |
void | tcp_timer_delack (void *xtp) |
void | tcp_inpinfo_lock_del (struct inpcb *inp, struct tcpcb *tp) |
void | tcp_timer_2msl (void *xtp) |
void | tcp_timer_keep (void *xtp) |
void | tcp_timer_persist (void *xtp) |
void | tcp_timer_rexmt (void *xtp) |
void | tcp_timer_activate (struct tcpcb *tp, uint32_t timer_type, u_int delta) |
int | tcp_timer_active (struct tcpcb *tp, uint32_t timer_type) |
int | tcp_timer_suspend (struct tcpcb *tp, uint32_t timer_type) |
void | tcp_timers_unsuspend (struct tcpcb *tp, uint32_t timer_type) |
static void | tcp_timer_discard (void *ptp) |
void | tcp_timer_stop (struct tcpcb *tp, uint32_t timer_type) |
Variables | |
int | tcp_persmin |
int | tcp_persmax |
int | tcp_keepinit |
int | tcp_keepidle |
int | tcp_keepintvl |
int | tcp_delacktime |
int | tcp_rexmit_initial |
int | tcp_rexmit_min |
int | tcp_rexmit_slop |
int | tcp_fast_finwait2_recycle = 0 |
int | tcp_finwait2_timeout |
int | tcp_keepcnt = TCPTV_KEEPCNT |
int | tcp_maxpersistidle |
int | tcp_rexmit_drop_options = 0 |
static int | per_cpu_timers = 0 |
int | tcp_backoff [TCP_MAXRXTSHIFT+1] |
int | tcp_totbackoff = 2559 |
__FBSDID | ( | "$FreeBSD$" | ) |
|
inline |
Definition at line 209 of file tcp_timer.c.
References inpcb::inp_flowid, inpcb::inp_flowtype, and per_cpu_timers.
Referenced by tcp_timer_activate().
SYSCTL_INT | ( | _net_inet_tcp | , |
OID_AUTO | , | ||
always_keepalive | , | ||
CTLFLAG_VNET| | CTLFLAG_RW, | ||
& | VNET_NAMEtcp_always_keepalive, | ||
0 | , | ||
"Assume SO_KEEPALIVE on all TCP connections" | |||
) |
SYSCTL_INT | ( | _net_inet_tcp | , |
OID_AUTO | , | ||
fast_finwait2_recycle | , | ||
CTLFLAG_RW | , | ||
& | tcp_fast_finwait2_recycle, | ||
0 | , | ||
"Recycle closed FIN_WAIT_2 connections faster" | |||
) |
SYSCTL_INT | ( | _net_inet_tcp | , |
OID_AUTO | , | ||
keepcnt | , | ||
CTLFLAG_RW | , | ||
& | tcp_keepcnt, | ||
0 | , | ||
"Number of keepalive probes to send" | |||
) |
SYSCTL_INT | ( | _net_inet_tcp | , |
OID_AUTO | , | ||
per_cpu_timers | , | ||
CTLFLAG_RW | , | ||
& | per_cpu_timers, | ||
0 | , | ||
"run tcp timers on all cpus" | |||
) |
SYSCTL_INT | ( | _net_inet_tcp | , |
OID_AUTO | , | ||
pmtud_blackhole_detection | , | ||
CTLFLAG_RW| | CTLFLAG_VNET, | ||
& | VNET_NAMEtcp_pmtud_blackhole_detect, | ||
0 | , | ||
"Path MTU Discovery Black Hole Detection Enabled" | |||
) |
SYSCTL_INT | ( | _net_inet_tcp | , |
OID_AUTO | , | ||
rexmit_drop_options | , | ||
CTLFLAG_RW | , | ||
& | tcp_rexmit_drop_options, | ||
0 | , | ||
"Drop TCP options from 3rd and later retransmitted SYN" | |||
) |
SYSCTL_PROC | ( | _net_inet_tcp | , |
OID_AUTO | , | ||
finwait2_timeout | , | ||
CTLTYPE_INT|CTLFLAG_RW| | CTLFLAG_NEEDGIANT, | ||
& | tcp_finwait2_timeout, | ||
0 | , | ||
sysctl_msec_to_ticks | , | ||
"I" | , | ||
"FIN-WAIT2 timeout" | |||
) |
SYSCTL_PROC | ( | _net_inet_tcp | , |
OID_AUTO | , | ||
msl | , | ||
CTLTYPE_INT|CTLFLAG_RW| | CTLFLAG_VNET, | ||
& | VNET_NAMEtcp_msl, | ||
0 | , | ||
sysctl_msec_to_ticks | , | ||
"I" | , | ||
"Maximum segment lifetime" | |||
) |
SYSCTL_PROC | ( | _net_inet_tcp | , |
OID_AUTO | , | ||
persmax | , | ||
CTLTYPE_INT|CTLFLAG_RW| | CTLFLAG_NEEDGIANT, | ||
& | tcp_persmax, | ||
0 | , | ||
sysctl_msec_to_ticks | , | ||
"I" | , | ||
"maximum persistence interval" | |||
) |
SYSCTL_PROC | ( | _net_inet_tcp | , |
OID_AUTO | , | ||
persmin | , | ||
CTLTYPE_INT|CTLFLAG_RW| | CTLFLAG_NEEDGIANT, | ||
& | tcp_persmin, | ||
0 | , | ||
sysctl_msec_to_ticks | , | ||
"I" | , | ||
"minimum persistence interval" | |||
) |
SYSCTL_PROC | ( | _net_inet_tcp | , |
OID_AUTO | , | ||
rexmit_initial | , | ||
CTLTYPE_INT|CTLFLAG_RW| | CTLFLAG_NEEDGIANT, | ||
& | tcp_rexmit_initial, | ||
0 | , | ||
sysctl_msec_to_ticks | , | ||
"I" | , | ||
"Initial Retransmission Timeout" | |||
) |
SYSCTL_PROC | ( | _net_inet_tcp | , |
OID_AUTO | , | ||
rexmit_min | , | ||
CTLTYPE_INT|CTLFLAG_RW| | CTLFLAG_NEEDGIANT, | ||
& | tcp_rexmit_min, | ||
0 | , | ||
sysctl_msec_to_ticks | , | ||
"I" | , | ||
"Minimum Retransmission Timeout" | |||
) |
SYSCTL_PROC | ( | _net_inet_tcp | , |
OID_AUTO | , | ||
rexmit_slop | , | ||
CTLTYPE_INT|CTLFLAG_RW| | CTLFLAG_NEEDGIANT, | ||
& | tcp_rexmit_slop, | ||
0 | , | ||
sysctl_msec_to_ticks | , | ||
"I" | , | ||
"Retransmission Timer Slop" | |||
) |
SYSCTL_PROC | ( | _net_inet_tcp | , |
TCPCTL_DELACKTIME | , | ||
delacktime | , | ||
CTLTYPE_INT|CTLFLAG_RW| | CTLFLAG_NEEDGIANT, | ||
& | tcp_delacktime, | ||
0 | , | ||
sysctl_msec_to_ticks | , | ||
"I" | , | ||
"Time before a delayed ACK is sent" | |||
) |
SYSCTL_PROC | ( | _net_inet_tcp | , |
TCPCTL_KEEPIDLE | , | ||
keepidle | , | ||
CTLTYPE_INT|CTLFLAG_RW| | CTLFLAG_NEEDGIANT, | ||
& | tcp_keepidle, | ||
0 | , | ||
sysctl_msec_to_ticks | , | ||
"I" | , | ||
"time before keepalive probes begin" | |||
) |
SYSCTL_PROC | ( | _net_inet_tcp | , |
TCPCTL_KEEPINIT | , | ||
keepinit | , | ||
CTLTYPE_INT|CTLFLAG_RW| | CTLFLAG_NEEDGIANT, | ||
& | tcp_keepinit, | ||
0 | , | ||
sysctl_msec_to_ticks | , | ||
"I" | , | ||
"time to establish connection" | |||
) |
SYSCTL_PROC | ( | _net_inet_tcp | , |
TCPCTL_KEEPINTVL | , | ||
keepintvl | , | ||
CTLTYPE_INT|CTLFLAG_RW| | CTLFLAG_NEEDGIANT, | ||
& | tcp_keepintvl, | ||
0 | , | ||
sysctl_msec_to_ticks | , | ||
"I" | , | ||
"time between keepalive probes" | |||
) |
Definition at line 295 of file tcp_timer.c.
References INP_WUNLOCK.
Referenced by tcp_timer_2msl(), tcp_timer_keep(), tcp_timer_persist(), and tcp_timer_rexmt().
void tcp_slowtimo | ( | void | ) |
Definition at line 241 of file tcp_timer.c.
References tcp_tw_2msl_scan().
void tcp_timer_2msl | ( | void * | xtp | ) |
Definition at line 302 of file tcp_timer.c.
References INP_DROPPED, inpcb::inp_flags, inpcb::inp_socket, INP_TIMEWAIT, INP_WLOCK, INP_WUNLOCK, tcpcb::t_inpcb, tcpcb::t_rcvtime, tcpcb::t_state, tcpcb::t_timers, tcpcb::t_vnet, TA_USER, tcp_close(), tcp_fast_finwait2_recycle, tcp_free_sackholes(), tcp_inpinfo_lock_del(), TCP_PROBE2, tcp_timer_2msl(), tcp_trace(), TCPS_FIN_WAIT_2, TCPSTAT_INC, TP_KEEPINTVL, TP_MAXIDLE, tcp_timer::tt_2msl, tcp_timer::tt_flags, and TT_STOPPED.
Referenced by tcp_timer_2msl(), and tcp_timer_activate().
Definition at line 854 of file tcp_timer.c.
References inp_to_cpuid(), tcpcb::t_fb, tcpcb::t_flags, tcpcb::t_inpcb, tcpcb::t_timers, tcp_timer_2msl(), tcp_timer_delack(), tcp_timer_keep(), tcp_timer_persist(), tcp_timer_rexmt(), TF_TOE, tcp_function_block::tfb_tcp_timer_activate, tcp_timer::tt_2msl, TT_2MSL, tcp_timer::tt_delack, TT_DELACK, tcp_timer::tt_flags, tcp_timer::tt_keep, TT_KEEP, tcp_timer::tt_persist, TT_PERSIST, tcp_timer::tt_rexmt, TT_REXMT, and TT_STOPPED.
Referenced by bbr_do_fin_wait_1(), bbr_do_syn_recv(), bbr_do_syn_sent(), cc_ecnpkt_handler_flags(), rack_do_compressed_ack_processing(), rack_do_fin_wait_1(), rack_do_syn_recv(), rack_do_syn_sent(), syncache_socket(), tcp_default_ctloutput(), tcp_default_fb_init(), tcp_default_output(), tcp_do_segment(), tcp_newreno_partial_ack(), tcp_sack_partialack(), tcp_setpersist(), tcp_timers_unsuspend(), tcp_usrclosed(), and toe_connect_failed().
Definition at line 905 of file tcp_timer.c.
References tcpcb::t_fb, tcpcb::t_timers, tcp_function_block::tfb_tcp_timer_active, tcp_timer::tt_2msl, TT_2MSL, tcp_timer::tt_delack, TT_DELACK, tcp_timer::tt_keep, TT_KEEP, tcp_timer::tt_persist, TT_PERSIST, tcp_timer::tt_rexmt, and TT_REXMT.
Referenced by bbr_stop_all_timers(), rack_stop_all_timers(), tcp_default_fb_init(), tcp_default_output(), tcp_do_segment(), tcp_setpersist(), and tcp_timers_unsuspend().
void tcp_timer_delack | ( | void * | xtp | ) |
Definition at line 264 of file tcp_timer.c.
References INP_DROPPED, inpcb::inp_flags, INP_WLOCK, INP_WUNLOCK, tcpcb::t_flags, tcpcb::t_inpcb, tcpcb::t_timers, tcpcb::t_vnet, TCPSTAT_INC, TF_ACKNOW, and tcp_timer::tt_delack.
Referenced by tcp_timer_activate().
|
static |
Definition at line 1040 of file tcp_timer.c.
References INP_WLOCK, INP_WUNLOCK, tcpcb::t_inpcb, tcpcb::t_timers, tcpcb::t_vnet, tcp_freecb(), tcp_timer::tt_draincnt, tcp_timer::tt_flags, and TT_STOPPED.
Referenced by tcp_timer_stop().
void tcp_timer_keep | ( | void * | xtp | ) |
Definition at line 377 of file tcp_timer.c.
References INP_DROPPED, inpcb::inp_flags, inpcb::inp_socket, INP_TIMEWAIT, INP_WLOCK, INP_WUNLOCK, tcpcb::rcv_nxt, tcpcb::snd_una, tcpcb::t_inpcb, tcpcb::t_rcvtime, tcpcb::t_state, tcpcb::t_timers, tcpcb::t_vnet, TA_USER, tcp_drop(), tcp_inpinfo_lock_del(), TCP_PROBE2, tcp_respond(), tcp_timer_keep(), tcp_trace(), tcpip_maketemplate(), TCPS_CLOSING, TCPS_ESTABLISHED, TCPS_HAVEESTABLISHED, TCPSTAT_INC, TP_KEEPIDLE, TP_KEEPINTVL, TP_MAXIDLE, tcp_timer::tt_flags, tcptemp::tt_ipgen, tcp_timer::tt_keep, TT_STOPPED, tcptemp::tt_t, and V_tcp_always_keepalive.
Referenced by tcp_timer_activate(), and tcp_timer_keep().
void tcp_timer_persist | ( | void * | xtp | ) |
Definition at line 493 of file tcp_timer.c.
References INP_DROPPED, inpcb::inp_flags, inpcb::inp_socket, INP_TIMEWAIT, INP_WLOCK, INP_WUNLOCK, tcpcb::t_flags, tcpcb::t_inpcb, tcpcb::t_rcvtime, tcpcb::t_rxtshift, tcpcb::t_state, tcpcb::t_timers, tcpcb::t_vnet, TA_USER, tcp_drop(), tcp_inpinfo_lock_del(), tcp_maxpersistidle, TCP_MAXRXTSHIFT, TCP_PROBE2, TCP_REXMTVAL, tcp_setpersist(), tcp_totbackoff, tcp_trace(), TCPS_CLOSE_WAIT, TCPSTAT_INC, TCPTV_PERSMAX, TF_FORCEDATA, tcp_timer::tt_flags, tcp_timer::tt_persist, and TT_STOPPED.
Referenced by tcp_timer_activate().
void tcp_timer_rexmt | ( | void * | xtp | ) |
Definition at line 575 of file tcp_timer.c.
References CC_ALGO, cc_cong_signal(), CC_RTO, tcpcb::ccv, IN_CONGRECOVERY, IN_FASTRECOVERY, in_losing(), INP_DROPPED, inpcb::inp_flags, INP_IPV6, inpcb::inp_socket, INP_TIMEWAIT, inpcb::inp_vflag, INP_WLOCK, INP_WUNLOCK, tcpcb::snd_cwnd, tcpcb::snd_cwnd_prev, tcpcb::snd_max, tcpcb::snd_nxt, tcpcb::snd_recover, tcpcb::snd_recover_prev, tcpcb::snd_ssthresh, tcpcb::snd_ssthresh_prev, tcpcb::snd_una, tcpcb::t_badrxtwin, tcpcb::t_blackhole_enter, tcpcb::t_blackhole_exit, tcpcb::t_fb, tcpcb::t_flags, tcpcb::t_flags2, tcpcb::t_inpcb, tcpcb::t_maxseg, tcpcb::t_pmtud_saved_maxseg, tcpcb::t_rttmin, tcpcb::t_rtttime, tcpcb::t_rxtcur, tcpcb::t_rxtshift, tcpcb::t_srtt, tcpcb::t_state, tcpcb::t_timers, tcpcb::t_vnet, TA_USER, tcp_backoff, tcp_drop(), tcp_free_sackholes(), tcp_inpinfo_lock_del(), TCP_LOG_EVENT, TCP_LOG_RTO, TCP_MAXRXTSHIFT, TCP_PROBE2, tcp_rexmit_drop_options, tcp_rexmit_initial, TCP_REXMTVAL, TCP_RTT_INVALIDATE, TCP_RTT_SHIFT, tcp_trace(), TCPS_ESTABLISHED, TCPS_FIN_WAIT_1, TCPS_SYN_RECEIVED, TCPS_SYN_SENT, TCPSTAT_INC, TCPT_RANGESET, TCPTV_REXMTMAX, TF2_PLPMTU_BLACKHOLE, TF2_PLPMTU_MAXSEGSNT, TF2_PLPMTU_PMTUD, TF_ACKNOW, TF_PREVVALID, TF_RCVD_TSTMP, TF_REQ_SCALE, TF_REQ_TSTMP, TF_SACK_PERMIT, TF_WASCRECOVERY, TF_WASFRECOVERY, tcp_function_block::tfb_tcp_rexmit_tmr, tcp_timer::tt_flags, tcp_timer::tt_rexmt, TT_STOPPED, V_tcp_mssdflt, V_tcp_pmtud_blackhole_detect, V_tcp_pmtud_blackhole_mss, and V_tcp_v6pmtud_blackhole_mss.
Referenced by tcp_timer_activate().
Definition at line 1063 of file tcp_timer.c.
References tcpcb::t_fb, tcpcb::t_timers, tcp_timer_discard(), tcp_function_block::tfb_tcp_timer_stop, tcp_timer::tt_2msl, TT_2MSL, tcp_timer::tt_delack, TT_DELACK, tcp_timer::tt_draincnt, tcp_timer::tt_flags, tcp_timer::tt_keep, TT_KEEP, tcp_timer::tt_persist, TT_PERSIST, tcp_timer::tt_rexmt, TT_REXMT, and TT_STOPPED.
Referenced by tcp_discardcb().
Definition at line 943 of file tcp_timer.c.
References tcpcb::t_timers, tcp_timer::tt_2msl, TT_2MSL, TT_2MSL_SUS, tcp_timer::tt_delack, TT_DELACK, TT_DELACK_SUS, tcp_timer::tt_flags, tcp_timer::tt_keep, TT_KEEP, TT_KEEP_SUS, tcp_timer::tt_persist, TT_PERSIST, TT_PERSIST_SUS, tcp_timer::tt_rexmt, TT_REXMT, and TT_REXMT_SUS.
Referenced by bbr_stop_all_timers(), and rack_stop_all_timers().
Definition at line 977 of file tcp_timer.c.
References inpcb::inp_socket, SEQ_GT, tcpcb::snd_max, tcpcb::snd_una, tcpcb::snd_wnd, tcpcb::t_flags, tcpcb::t_inpcb, tcpcb::t_rxtcur, tcpcb::t_rxtshift, tcpcb::t_state, tcpcb::t_timers, tcp_delacktime, tcp_fast_finwait2_recycle, tcp_finwait2_timeout, tcp_setpersist(), tcp_timer_activate(), tcp_timer_active(), TCPS_FIN_WAIT_2, TCPS_HAVEESTABLISHED, TF_DELACK, TP_KEEPIDLE, TP_KEEPINIT, TP_MAXIDLE, TT_2MSL, TT_2MSL_SUS, TT_DELACK, TT_DELACK_SUS, tcp_timer::tt_flags, TT_KEEP, TT_KEEP_SUS, TT_PERSIST, TT_PERSIST_SUS, TT_REXMT, and TT_REXMT_SUS.
VNET_DEFINE | ( | int | , |
tcp_always_keepalive | |||
) |
VNET_DEFINE | ( | int | , |
tcp_msl | |||
) |
VNET_DEFINE | ( | int | , |
tcp_pmtud_blackhole_detect | |||
) |
|
static |
Definition at line 197 of file tcp_timer.c.
Referenced by inp_to_cpuid().
int tcp_backoff[TCP_MAXRXTSHIFT+1] |
Definition at line 254 of file tcp_timer.c.
Referenced by bbr_get_persists_timer_val(), bbr_timeout_rxt(), bbr_timer_start(), rack_get_persists_timer_val(), rack_timeout_rxt(), syncache_timeout(), tcp_setpersist(), and tcp_timer_rexmt().
int tcp_delacktime |
Definition at line 114 of file tcp_timer.c.
Referenced by cc_ecnpkt_handler_flags(), rack_start_hpts_timer(), tcp_do_segment(), tcp_init(), and tcp_timers_unsuspend().
int tcp_fast_finwait2_recycle = 0 |
Definition at line 149 of file tcp_timer.c.
Referenced by bbr_do_fin_wait_1(), bbr_do_syn_recv(), bbr_do_syn_sent(), rack_do_compressed_ack_processing(), rack_do_fin_wait_1(), rack_do_syn_recv(), rack_do_syn_sent(), tcp_do_segment(), tcp_timer_2msl(), tcp_timers_unsuspend(), and tcp_usrclosed().
int tcp_finwait2_timeout |
Definition at line 154 of file tcp_timer.c.
Referenced by bbr_do_fin_wait_1(), bbr_do_syn_recv(), bbr_do_syn_sent(), rack_do_compressed_ack_processing(), rack_do_fin_wait_1(), rack_do_syn_recv(), rack_do_syn_sent(), tcp_do_segment(), tcp_init(), tcp_timers_unsuspend(), and tcp_usrclosed().
int tcp_keepcnt = TCPTV_KEEPCNT |
Definition at line 160 of file tcp_timer.c.
int tcp_keepidle |
Definition at line 102 of file tcp_timer.c.
Referenced by tcp_init().
int tcp_keepinit |
Definition at line 96 of file tcp_timer.c.
Referenced by tcp_init().
int tcp_keepintvl |
Definition at line 108 of file tcp_timer.c.
Referenced by tcp_init().
int tcp_maxpersistidle |
Definition at line 165 of file tcp_timer.c.
Referenced by bbr_timeout_persist(), rack_timeout_persist(), tcp_init(), and tcp_timer_persist().
int tcp_persmax |
Definition at line 90 of file tcp_timer.c.
Referenced by tcp_init(), and tcp_setpersist().
int tcp_persmin |
Definition at line 84 of file tcp_timer.c.
Referenced by tcp_init(), and tcp_setpersist().
int tcp_rexmit_drop_options = 0 |
Definition at line 167 of file tcp_timer.c.
Referenced by bbr_timeout_rxt(), rack_timeout_rxt(), and tcp_timer_rexmt().
int tcp_rexmit_initial |
Definition at line 126 of file tcp_timer.c.
Referenced by syncache_timeout(), tcp_init(), tcp_newtcpcb(), and tcp_timer_rexmt().
int tcp_rexmit_min |
Definition at line 132 of file tcp_timer.c.
Referenced by syncache_timeout(), tcp_init(), and tcp_newtcpcb().
int tcp_rexmit_slop |
Definition at line 138 of file tcp_timer.c.
Referenced by rack_convert_rtts(), rack_init(), rack_log_rtt_sample(), and tcp_init().
int tcp_totbackoff = 2559 |
Definition at line 257 of file tcp_timer.c.
Referenced by bbr_timeout_persist(), rack_timeout_persist(), and tcp_timer_persist().