diff options
author | Randall Stewart <rrs@FreeBSD.org> | 2015-12-16 00:56:45 +0000 |
---|---|---|
committer | Randall Stewart <rrs@FreeBSD.org> | 2015-12-16 00:56:45 +0000 |
commit | 55bceb1e2bfa8d5c70820b7c8e32061508068966 (patch) | |
tree | 783c0558e06b050ee57c6af56f4c51a9f65359e7 /sys/netinet/tcp_timer.c | |
parent | 2c97ae69391b693102ff2d206c3231c86877bc80 (diff) |
Notes
Diffstat (limited to 'sys/netinet/tcp_timer.c')
-rw-r--r-- | sys/netinet/tcp_timer.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/sys/netinet/tcp_timer.c b/sys/netinet/tcp_timer.c index d129586452a9..6a24ce781c20 100644 --- a/sys/netinet/tcp_timer.c +++ b/sys/netinet/tcp_timer.c @@ -292,7 +292,7 @@ tcp_timer_delack(void *xtp) tp->t_flags |= TF_ACKNOW; TCPSTAT_INC(tcps_delack); - (void) tcp_output(tp); + (void) tp->t_fb->tfb_tcp_output(tp); INP_WUNLOCK(inp); CURVNET_RESTORE(); } @@ -543,7 +543,7 @@ tcp_timer_persist(void *xtp) } tcp_setpersist(tp); tp->t_flags |= TF_FORCEDATA; - (void) tcp_output(tp); + (void) tp->t_fb->tfb_tcp_output(tp); tp->t_flags &= ~TF_FORCEDATA; out: @@ -798,7 +798,7 @@ tcp_timer_rexmt(void * xtp) cc_cong_signal(tp, NULL, CC_RTO); - (void) tcp_output(tp); + (void) tp->t_fb->tfb_tcp_output(tp); out: #ifdef TCPDEBUG @@ -858,6 +858,10 @@ tcp_timer_activate(struct tcpcb *tp, uint32_t timer_type, u_int delta) f_reset = TT_2MSL_RST; break; default: + if (tp->t_fb->tfb_tcp_timer_activate) { + tp->t_fb->tfb_tcp_timer_activate(tp, timer_type, delta); + return; + } panic("tp %p bad timer_type %#x", tp, timer_type); } if (delta == 0) { @@ -904,6 +908,9 @@ tcp_timer_active(struct tcpcb *tp, uint32_t timer_type) t_callout = &tp->t_timers->tt_2msl; break; default: + if (tp->t_fb->tfb_tcp_timer_active) { + return(tp->t_fb->tfb_tcp_timer_active(tp, timer_type)); + } panic("tp %p bad timer_type %#x", tp, timer_type); } return callout_active(t_callout); @@ -945,6 +952,14 @@ tcp_timer_stop(struct tcpcb *tp, uint32_t timer_type) f_reset = TT_2MSL_RST; break; default: + if (tp->t_fb->tfb_tcp_timer_stop) { + /* + * XXXrrs we need to look at this with the + * stop case below (flags). + */ + tp->t_fb->tfb_tcp_timer_stop(tp, timer_type); + return; + } panic("tp %p bad timer_type %#x", tp, timer_type); } |