Home | History | Annotate | Download | only in Tcp4Dxe

Lines Matching refs:Tcb

22   @param  Tcb      Pointer to the TCP_CB of this TCP instance.

27 IN OUT TCP_CB *Tcb
33 @param Tcb Pointer to the TCP_CB of this TCP instance.
38 IN OUT TCP_CB *Tcb
44 @param Tcb Pointer to the TCP_CB of this TCP instance.
49 IN OUT TCP_CB *Tcb
55 @param Tcb Pointer to the TCP_CB of this TCP instance.
60 IN OUT TCP_CB *Tcb
66 @param Tcb Pointer to the TCP_CB of this TCP instance.
71 IN OUT TCP_CB *Tcb
77 @param Tcb Pointer to the TCP_CB of this TCP instance.
82 IN OUT TCP_CB *Tcb
97 @param Tcb Pointer to the TCP_CB of this TCP instance.
102 IN OUT TCP_CB *Tcb
105 NetbufFreeList (&Tcb->SndQue);
106 NetbufFreeList (&Tcb->RcvQue);
108 TcpSetState (Tcb, TCP_CLOSED);
115 @param Tcb Pointer to the TCP_CB of this TCP instance.
120 IN OUT TCP_CB *Tcb
123 if (!TCP_CONNECTED (Tcb->State)) {
125 "because conenction timer timeout for TCB %p\n", Tcb));
127 if (EFI_ABORTED == Tcb->Sk->SockError) {
128 SOCK_ERROR (Tcb->Sk, EFI_TIMEOUT);
131 if (TCP_SYN_RCVD == Tcb->State) {
133 "connection timer timeout for TCB %p\n", Tcb));
135 TcpResetConnection (Tcb);
139 TcpClose (Tcb);
147 @param Tcb Pointer to the TCP_CB of this TCP instance.
152 IN OUT TCP_CB *Tcb
158 "timeout for TCB %p\n", Tcb));
165 FlightSize = TCP_SUB_SEQ (Tcb->SndNxt, Tcb->SndUna);
166 Tcb->Ssthresh = MAX ((UINT32) (2 * Tcb->SndMss), FlightSize / 2);
168 Tcb->CWnd = Tcb->SndMss;
169 Tcb->LossRecover = Tcb->SndNxt;
171 Tcb->LossTimes++;
172 if ((Tcb->LossTimes > Tcb->MaxRexmit) &&
173 !TCP_TIMER_ON (Tcb->EnabledTimer, TCP_TIMER_CONNECT)) {
176 "because too many timeouts for TCB %p\n", Tcb));
178 if (EFI_ABORTED == Tcb->Sk->SockError) {
179 SOCK_ERROR (Tcb->Sk, EFI_TIMEOUT);
182 TcpClose (Tcb);
186 TcpBackoffRto (Tcb);
187 TcpRetransmit (Tcb, Tcb->SndUna);
188 TcpSetTimer (Tcb, TCP_TIMER_REXMIT, Tcb->Rto);
190 Tcb->CongestState = TCP_CONGEST_LOSS;
191 TCP_CLEAR_FLG (Tcb->CtrlFlag, TCP_CTRL_RTT_ON);
198 @param Tcb Pointer to the TCP_CB of this TCP instance.
203 IN OUT TCP_CB *Tcb
212 if ((TcpDataToSend (Tcb, 1) != 0) && (TcpToSendData (Tcb, 1) > 0)) {
214 ASSERT (TCP_TIMER_ON (Tcb->EnabledTimer, TCP_TIMER_REXMIT) != 0);
215 Tcb->ProbeTimerOn = FALSE;
219 TcpSendZeroProbe (Tcb);
220 TcpSetProbeTimer (Tcb);
227 @param Tcb Pointer to the TCP_CB of this TCP instance.
232 IN OUT TCP_CB *Tcb
235 Tcb->KeepAliveProbes++;
240 if (Tcb->KeepAliveProbes > Tcb->MaxKeepAlive) {
242 if (EFI_ABORTED == Tcb->Sk->SockError) {
243 SOCK_ERROR (Tcb->Sk, EFI_TIMEOUT);
246 TcpClose (Tcb);
250 TcpSendZeroProbe (Tcb);
251 TcpSetKeepaliveTimer (Tcb);
258 @param Tcb Pointer to the TCP_CB of this TCP instance.
263 IN OUT TCP_CB *Tcb
267 "because FIN_WAIT2 timer timeouts for TCB %p\n", Tcb));
269 TcpClose (Tcb);
276 @param Tcb Pointer to the TCP_CB of this TCP instance.
281 IN OUT TCP_CB *Tcb
285 "because TIME_WAIT timer timeouts for TCB %p\n", Tcb));
287 TcpClose (Tcb);
295 @param Tcb Pointer to the TCP_CB of this TCP instance.
300 IN OUT TCP_CB *Tcb
309 Tcb->NextExpire = 65535;
310 TCP_CLEAR_FLG (Tcb->CtrlFlag, TCP_CTRL_TIMER_ON);
314 if (TCP_TIMER_ON (Tcb->EnabledTimer, Index) &&
315 TCP_TIME_LT (Tcb->Timer[Index], mTcpTick + Tcb->NextExpire)) {
317 Tcb->NextExpire = TCP_SUB_TIME (Tcb->Timer[Index], mTcpTick);
318 TCP_SET_FLG (Tcb->CtrlFlag, TCP_CTRL_TIMER_ON);
327 @param Tcb Pointer to the TCP_CB of this TCP instance.
334 IN OUT TCP_CB *Tcb,
339 TCP_SET_TIMER (Tcb->EnabledTimer, Timer);
340 Tcb->Timer[Timer] = mTcpTick + TimeOut;
342 TcpUpdateTimer (Tcb);
349 @param Tcb Pointer to the TCP_CB of this TCP instance.
355 IN OUT TCP_CB *Tcb,
359 TCP_CLEAR_TIMER (Tcb->EnabledTimer, Timer);
360 TcpUpdateTimer (Tcb);
367 @param Tcb Pointer to the TCP_CB of this TCP instance.
372 IN OUT TCP_CB *Tcb
375 Tcb->EnabledTimer = 0;
376 TcpUpdateTimer (Tcb);
383 @param Tcb Pointer to the TCP_CB of this TCP instance.
388 IN OUT TCP_CB *Tcb
391 if (!Tcb->ProbeTimerOn) {
392 Tcb->ProbeTime = Tcb->Rto;
393 Tcb->ProbeTimerOn = TRUE;
396 Tcb->ProbeTime <<= 1;
399 if (Tcb->ProbeTime < TCP_RTO_MIN) {
401 Tcb->ProbeTime = TCP_RTO_MIN;
402 } else if (Tcb->ProbeTime > TCP_RTO_MAX) {
404 Tcb->ProbeTime = TCP_RTO_MAX;
407 TcpSetTimer (Tcb, TCP_TIMER_PROBE, Tcb->ProbeTime);
414 @param Tcb Pointer to the TCP_CB of this TCP instance.
419 IN OUT TCP_CB *Tcb
422 if (TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_NO_KEEPALIVE)) {
434 if (!TCP_TIMER_ON (Tcb->EnabledTimer, TCP_TIMER_KEEPALIVE) ||
435 (Tcb->Idle < Tcb->KeepAliveIdle)) {
437 TcpSetTimer (Tcb, TCP_TIMER_KEEPALIVE, Tcb->KeepAliveIdle);
438 Tcb->KeepAliveProbes = 0;
442 TcpSetTimer (Tcb, TCP_TIMER_KEEPALIVE, Tcb->KeepAlivePeriod);
450 @param Tcb Pointer to the TCP_CB of this TCP instance.
455 IN OUT TCP_CB *Tcb
463 if ((Tcb->LossTimes >= TCP_FOLD_RTT) && (Tcb->SRtt != 0)) {
464 Tcb->RttVar += Tcb->SRtt >> 2;
465 Tcb->SRtt = 0;
468 Tcb->Rto <<= 1;
470 if (Tcb->Rto < TCP_RTO_MIN) {
472 Tcb->Rto = TCP_RTO_MIN;
473 } else if (Tcb->Rto > TCP_RTO_MAX) {
475 Tcb->Rto = TCP_RTO_MAX;
494 TCP_CB *Tcb;
507 Tcb = NET_LIST_USER_STRUCT (Entry, TCP_CB, List);
509 if (Tcb->State == TCP_CLOSED) {
515 if (TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_RTT_ON)) {
516 Tcb->RttMeasure++;
519 Tcb->Idle++;
521 if (Tcb->DelayedAck != 0) {
522 TcpSendAck (Tcb);
528 if (!TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_TIMER_ON) ||
529 ((--Tcb->NextExpire) > 0)) {
539 if (TCP_TIMER_ON (Tcb->EnabledTimer, Index) &&
540 TCP_TIME_LEQ (Tcb->Timer[Index], mTcpTick)) {
545 TCP_CLEAR_TIMER (Tcb->EnabledTimer, Index);
546 mTcpTimerHandler[Index](Tcb);
549 // The Tcb may have been deleted by the timer, or
553 (Tcb->EnabledTimer == 0)) {
560 // If the Tcb still exist or some timer is set, update the timer
563 TcpUpdateTimer (Tcb);