Lines Matching refs:tp

59 static struct tcpcb *tcp_timers(PNATState pData, register struct tcpcb *tp, int timer);
67 register struct tcpcb *tp;
75 if ( (tp = (struct tcpcb *)so->so_tcpcb)
76 && (tp->t_flags & TF_DELACK))
78 tp->t_flags &= ~TF_DELACK;
79 tp->t_flags |= TF_ACKNOW;
81 TCP_OUTPUT(pData, tp);
96 register struct tcpcb *tp;
110 tp = sototcpcb(ip);
111 if (tp == 0)
115 if (tp->t_timer[i] && --tp->t_timer[i] == 0)
117 tcp_timers(pData, tp, i);
122 tp->t_idle++;
123 if (tp->t_rtt)
124 tp->t_rtt++;
138 * Cancel all timers for TCP tp.
141 tcp_canceltimers(struct tcpcb *tp)
146 tp->t_timer[i] = 0;
158 tcp_timers(PNATState pData, register struct tcpcb *tp, int timer)
163 LogFlowFunc(("ENTER: tp:%R[tcpcb793], timer:%d\n", tp, timer));
164 fUninitiolizedTemplate = RT_BOOL(( tp->t_template.ti_src.s_addr == INADDR_ANY
165 || tp->t_template.ti_dst.s_addr == INADDR_ANY));
168 tp = tcp_drop(pData, tp, 0);
169 return tp;
181 if (tp->t_state != TCPS_TIME_WAIT &&
182 tp->t_idle <= tcp_maxidle)
183 tp->t_timer[TCPT_2MSL] = tcp_keepintvl;
185 tp = tcp_close(pData, tp);
199 if (++tp->t_rxtshift > TCP_MAXRXTSHIFT)
215 tp->t_maxseg >>= 1;
216 if (tp->t_maxseg < 32)
221 tp->t_rxtshift = TCP_MAXRXTSHIFT;
223 tp = tcp_drop(pData, tp, tp->t_softerror);
224 /* tp->t_softerror : ETIMEDOUT); */ /* XXX */
225 return (tp); /* XXX */
232 tp->t_rxtshift = 6;
235 rexmt = TCP_REXMTVAL(tp) * tcp_backoff[tp->t_rxtshift];
236 TCPT_RANGESET(tp->t_rxtcur, rexmt,
237 (short)tp->t_rttmin, TCPTV_REXMTMAX); /* XXX */
238 tp->t_timer[TCPT_REXMT] = tp->t_rxtcur;
247 if (tp->t_rxtshift > TCP_MAXRXTSHIFT / 4)
249 /* in_losing(tp->t_inpcb); */
250 tp->t_rttvar += (tp->t_srtt >> TCP_RTT_SHIFT);
251 tp->t_srtt = 0;
253 tp->snd_nxt = tp->snd_una;
257 tp->t_rtt = 0;
283 u_int win = min(tp->snd_wnd, tp->snd_cwnd) / 2 / tp->t_maxseg;
286 tp->snd_cwnd = tp->t_maxseg;
287 tp->snd_ssthresh = win * tp->t_maxseg;
288 tp->t_dupacks = 0;
290 (void) tcp_output(pData, tp);
299 tcp_setpersist(tp);
300 tp->t_force = 1;
301 (void) tcp_output(pData, tp);
302 tp->t_force = 0;
311 if (tp->t_state < TCPS_ESTABLISHED)
313 /* if (tp->t_socket->so_options & SO_KEEPALIVE && */
314 if ((so_options) && tp->t_state <= TCPS_CLOSE_WAIT)
316 if (tp->t_idle >= tcp_keepidle + tcp_maxidle)
324 * Using sequence number tp->snd_una-1
336 tcp_respond(tp, &tp->t_template, (struct mbuf *)NULL,
337 tp->rcv_nxt - 1, tp->snd_una - 1, 0);
339 tcp_respond(pData, tp, &tp->t_template, (struct mbuf *)NULL,
340 tp->rcv_nxt, tp->snd_una - 1, 0);
342 tp->t_timer[TCPT_KEEP] = tcp_keepintvl;
345 tp->t_timer[TCPT_KEEP] = tcp_keepidle;
350 tp = tcp_drop(pData, tp, 0); /* ETIMEDOUT); */
354 return tp;