Lines Matching refs:tp

174 	struct tcpcb *tp = xtp;
176 CURVNET_SET(tp->t_vnet);
178 inp = tp->t_inpcb;
192 if (callout_pending(&tp->t_timers->tt_delack) ||
193 !callout_active(&tp->t_timers->tt_delack)) {
198 callout_deactivate(&tp->t_timers->tt_delack);
205 tp->t_flags |= TF_ACKNOW;
207 (void) tcp_output(tp);
215 struct tcpcb *tp = xtp;
217 CURVNET_SET(tp->t_vnet);
221 ostate = tp->t_state;
227 inp = tp->t_inpcb;
242 tcp_free_sackholes(tp);
243 if (callout_pending(&tp->t_timers->tt_2msl) ||
244 !callout_active(&tp->t_timers->tt_2msl)) {
245 INP_WUNLOCK(tp->t_inpcb);
250 callout_deactivate(&tp->t_timers->tt_2msl);
267 if (tcp_fast_finwait2_recycle && tp->t_state == TCPS_FIN_WAIT_2 &&
268 tp->t_inpcb && tp->t_inpcb->inp_socket &&
269 (tp->t_inpcb->inp_socket->so_rcv.sb_state & SBS_CANTRCVMORE)) {
271 tp = tcp_close(tp);
273 if (tp->t_state != TCPS_TIME_WAIT &&
274 ticks - tp->t_rcvtime <= TP_MAXIDLE(tp))
275 callout_reset_on(&tp->t_timers->tt_2msl,
276 TP_KEEPINTVL(tp), tcp_timer_2msl, tp, INP_CPU(inp));
278 tp = tcp_close(tp);
282 if (tp != NULL && (tp->t_inpcb->inp_socket->so_options & SO_DEBUG))
283 tcp_trace(TA_USER, ostate, tp, (void *)0, (struct tcphdr *)0,
286 if (tp != NULL)
295 struct tcpcb *tp = xtp;
298 CURVNET_SET(tp->t_vnet);
302 ostate = tp->t_state;
305 inp = tp->t_inpcb;
320 if (callout_pending(&tp->t_timers->tt_keep) ||
321 !callout_active(&tp->t_timers->tt_keep)) {
327 callout_deactivate(&tp->t_timers->tt_keep);
339 if (tp->t_state < TCPS_ESTABLISHED)
342 tp->t_state <= TCPS_CLOSING) {
343 if (ticks - tp->t_rcvtime >= TP_KEEPIDLE(tp) + TP_MAXIDLE(tp))
351 * Using sequence number tp->snd_una-1
360 tcp_respond(tp, t_template->tt_ipgen,
362 tp->rcv_nxt, tp->snd_una - 1, 0);
365 callout_reset_on(&tp->t_timers->tt_keep, TP_KEEPINTVL(tp),
366 tcp_timer_keep, tp, INP_CPU(inp));
368 callout_reset_on(&tp->t_timers->tt_keep, TP_KEEPIDLE(tp),
369 tcp_timer_keep, tp, INP_CPU(inp));
373 tcp_trace(TA_USER, ostate, tp, (void *)0, (struct tcphdr *)0,
383 tp = tcp_drop(tp, ETIMEDOUT);
386 if (tp != NULL && (tp->t_inpcb->inp_socket->so_options & SO_DEBUG))
387 tcp_trace(TA_USER, ostate, tp, (void *)0, (struct tcphdr *)0,
390 if (tp != NULL)
391 INP_WUNLOCK(tp->t_inpcb);
399 struct tcpcb *tp = xtp;
401 CURVNET_SET(tp->t_vnet);
405 ostate = tp->t_state;
408 inp = tp->t_inpcb;
423 if (callout_pending(&tp->t_timers->tt_persist) ||
424 !callout_active(&tp->t_timers->tt_persist)) {
430 callout_deactivate(&tp->t_timers->tt_persist);
449 if (tp->t_rxtshift == TCP_MAXRXTSHIFT &&
450 (ticks - tp->t_rcvtime >= tcp_maxpersistidle ||
451 ticks - tp->t_rcvtime >= TCP_REXMTVAL(tp) * tcp_totbackoff)) {
453 tp = tcp_drop(tp, ETIMEDOUT);
460 if (tp->t_state > TCPS_CLOSE_WAIT &&
461 (ticks - tp->t_rcvtime) >= TCPTV_PERSMAX) {
463 tp = tcp_drop(tp, ETIMEDOUT);
466 tcp_setpersist(tp);
467 tp->t_flags |= TF_FORCEDATA;
468 (void) tcp_output(tp);
469 tp->t_flags &= ~TF_FORCEDATA;
473 if (tp != NULL && tp->t_inpcb->inp_socket->so_options & SO_DEBUG)
474 tcp_trace(TA_USER, ostate, tp, NULL, NULL, PRU_SLOWTIMO);
476 if (tp != NULL)
485 struct tcpcb *tp = xtp;
486 CURVNET_SET(tp->t_vnet);
493 ostate = tp->t_state;
496 inp = tp->t_inpcb;
511 if (callout_pending(&tp->t_timers->tt_rexmt) ||
512 !callout_active(&tp->t_timers->tt_rexmt)) {
518 callout_deactivate(&tp->t_timers->tt_rexmt);
525 tcp_free_sackholes(tp);
531 if (++tp->t_rxtshift > TCP_MAXRXTSHIFT) {
532 tp->t_rxtshift = TCP_MAXRXTSHIFT;
551 tp = tcp_drop(tp, tp->t_softerror ?
552 tp->t_softerror : ETIMEDOUT);
558 if (tp->t_state == TCPS_SYN_SENT) {
563 tp->snd_cwnd = 1;
564 } else if (tp->t_rxtshift == 1) {
574 tp->snd_cwnd_prev = tp->snd_cwnd;
575 tp->snd_ssthresh_prev = tp->snd_ssthresh;
576 tp->snd_recover_prev = tp->snd_recover;
577 if (IN_FASTRECOVERY(tp->t_flags))
578 tp->t_flags |= TF_WASFRECOVERY;
580 tp->t_flags &= ~TF_WASFRECOVERY;
581 if (IN_CONGRECOVERY(tp->t_flags))
582 tp->t_flags |= TF_WASCRECOVERY;
584 tp->t_flags &= ~TF_WASCRECOVERY;
585 tp->t_badrxtwin = ticks + (tp->t_srtt >> (TCP_RTT_SHIFT + 1));
586 tp->t_flags |= TF_PREVVALID;
588 tp->t_flags &= ~TF_PREVVALID;
590 if (tp->t_state == TCPS_SYN_SENT)
591 rexmt = TCPTV_RTOBASE * tcp_syn_backoff[tp->t_rxtshift];
593 rexmt = TCP_REXMTVAL(tp) * tcp_backoff[tp->t_rxtshift];
594 TCPT_RANGESET(tp->t_rxtcur, rexmt,
595 tp->t_rttmin, TCPTV_REXMTMAX);
603 if (tcp_rexmit_drop_options && (tp->t_state == TCPS_SYN_SENT) &&
604 (tp->t_rxtshift == 3))
605 tp->t_flags &= ~(TF_REQ_SCALE|TF_REQ_TSTMP|TF_SACK_PERMIT);
612 if (tp->t_rxtshift > TCP_MAXRXTSHIFT / 4) {
614 if ((tp->t_inpcb->inp_vflag & INP_IPV6) != 0)
615 in6_losing(tp->t_inpcb);
617 tp->t_rttvar += (tp->t_srtt >> TCP_RTT_SHIFT);
618 tp->t_srtt = 0;
620 tp->snd_nxt = tp->snd_una;
621 tp->snd_recover = tp->snd_max;
625 tp->t_flags |= TF_ACKNOW;
629 tp->t_rtttime = 0;
631 cc_cong_signal(tp, NULL, CC_RTO);
633 (void) tcp_output(tp);
637 if (tp != NULL && (tp->t_inpcb->inp_socket->so_options & SO_DEBUG))
638 tcp_trace(TA_USER, ostate, tp, (void *)0, (struct tcphdr *)0,
641 if (tp != NULL)
649 tcp_timer_activate(struct tcpcb *tp, int timer_type, u_int delta)
653 struct inpcb *inp = tp->t_inpcb;
657 if (tp->t_flags & TF_TOE)
663 t_callout = &tp->t_timers->tt_delack;
667 t_callout = &tp->t_timers->tt_rexmt;
671 t_callout = &tp->t_timers->tt_persist;
675 t_callout = &tp->t_timers->tt_keep;
679 t_callout = &tp->t_timers->tt_2msl;
688 callout_reset_on(t_callout, delta, f_callout, tp, cpu);
693 tcp_timer_active(struct tcpcb *tp, int timer_type)
699 t_callout = &tp->t_timers->tt_delack;
702 t_callout = &tp->t_timers->tt_rexmt;
705 t_callout = &tp->t_timers->tt_persist;
708 t_callout = &tp->t_timers->tt_keep;
711 t_callout = &tp->t_timers->tt_2msl;
722 tcp_timer_to_xtimer(struct tcpcb *tp, struct tcp_timer *timer,
741 xtimer->t_rcvtime = ticks_to_msecs(ticks - tp->t_rcvtime);