\r
#include "TcpMain.h"\r
\r
-UINT32 mTcpTick = 1000;\r
+UINT32 mTcpTick = 1000;\r
\r
/**\r
Connect timeout handler.\r
**/\r
VOID\r
TcpConnectTimeout (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
);\r
\r
/**\r
**/\r
VOID\r
TcpRexmitTimeout (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
);\r
\r
/**\r
**/\r
VOID\r
TcpProbeTimeout (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
);\r
\r
/**\r
**/\r
VOID\r
TcpKeepaliveTimeout (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
);\r
\r
/**\r
**/\r
VOID\r
TcpFinwait2Timeout (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
);\r
\r
/**\r
**/\r
VOID\r
Tcp2MSLTimeout (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
);\r
\r
-TCP_TIMER_HANDLER mTcpTimerHandler[TCP_TIMER_NUMBER] = {\r
+TCP_TIMER_HANDLER mTcpTimerHandler[TCP_TIMER_NUMBER] = {\r
TcpConnectTimeout,\r
TcpRexmitTimeout,\r
TcpProbeTimeout,\r
**/\r
VOID\r
TcpClose (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
)\r
{\r
NetbufFreeList (&Tcb->SndQue);\r
**/\r
VOID\r
TcpBackoffRto (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
)\r
{\r
//\r
//\r
if ((Tcb->LossTimes >= TCP_FOLD_RTT) && (Tcb->SRtt != 0)) {\r
Tcb->RttVar += Tcb->SRtt >> 2;\r
- Tcb->SRtt = 0;\r
+ Tcb->SRtt = 0;\r
}\r
\r
Tcb->Rto <<= 1;\r
\r
if (Tcb->Rto < TCP_RTO_MIN) {\r
-\r
Tcb->Rto = TCP_RTO_MIN;\r
} else if (Tcb->Rto > TCP_RTO_MAX) {\r
-\r
Tcb->Rto = TCP_RTO_MAX;\r
}\r
}\r
**/\r
VOID\r
TcpConnectTimeout (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
)\r
{\r
if (!TCP_CONNECTED (Tcb->State)) {\r
DEBUG (\r
(DEBUG_ERROR,\r
- "TcpConnectTimeout: connection closed because connection timer timeout for TCB %p\n",\r
- Tcb)\r
+ "TcpConnectTimeout: connection closed because connection timer timeout for TCB %p\n",\r
+ Tcb)\r
);\r
\r
if (EFI_ABORTED == Tcb->Sk->SockError) {\r
if (TCP_SYN_RCVD == Tcb->State) {\r
DEBUG (\r
(DEBUG_WARN,\r
- "TcpConnectTimeout: send reset because connection timer timeout for TCB %p\n",\r
- Tcb)\r
+ "TcpConnectTimeout: send reset because connection timer timeout for TCB %p\n",\r
+ Tcb)\r
);\r
\r
TcpResetConnection (Tcb);\r
-\r
}\r
\r
TcpClose (Tcb);\r
}\r
}\r
\r
-\r
/**\r
Timeout handler for TCP retransmission timer.\r
\r
**/\r
VOID\r
TcpRexmitTimeout (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
)\r
{\r
UINT32 FlightSize;\r
\r
DEBUG (\r
(DEBUG_WARN,\r
- "TcpRexmitTimeout: transmission timeout for TCB %p\n",\r
- Tcb)\r
+ "TcpRexmitTimeout: transmission timeout for TCB %p\n",\r
+ Tcb)\r
);\r
\r
//\r
// amount of data that has been sent but not\r
// yet ACKed.\r
//\r
- FlightSize = TCP_SUB_SEQ (Tcb->SndNxt, Tcb->SndUna);\r
- Tcb->Ssthresh = MAX ((UINT32) (2 * Tcb->SndMss), FlightSize / 2);\r
+ FlightSize = TCP_SUB_SEQ (Tcb->SndNxt, Tcb->SndUna);\r
+ Tcb->Ssthresh = MAX ((UINT32)(2 * Tcb->SndMss), FlightSize / 2);\r
\r
- Tcb->CWnd = Tcb->SndMss;\r
- Tcb->LossRecover = Tcb->SndNxt;\r
+ Tcb->CWnd = Tcb->SndMss;\r
+ Tcb->LossRecover = Tcb->SndNxt;\r
\r
Tcb->LossTimes++;\r
if ((Tcb->LossTimes > Tcb->MaxRexmit) && !TCP_TIMER_ON (Tcb->EnabledTimer, TCP_TIMER_CONNECT)) {\r
-\r
DEBUG (\r
(DEBUG_ERROR,\r
- "TcpRexmitTimeout: connection closed because too many timeouts for TCB %p\n",\r
- Tcb)\r
+ "TcpRexmitTimeout: connection closed because too many timeouts for TCB %p\n",\r
+ Tcb)\r
);\r
\r
if (EFI_ABORTED == Tcb->Sk->SockError) {\r
}\r
\r
TcpClose (Tcb);\r
- return ;\r
+ return;\r
}\r
\r
TcpBackoffRto (Tcb);\r
**/\r
VOID\r
TcpProbeTimeout (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
)\r
{\r
//\r
// the probe timer, since retransmit timer is on.\r
//\r
if ((TcpDataToSend (Tcb, 1) != 0) && (TcpToSendData (Tcb, 1) > 0)) {\r
-\r
ASSERT (TCP_TIMER_ON (Tcb->EnabledTimer, TCP_TIMER_REXMIT) != 0);\r
Tcb->ProbeTimerOn = FALSE;\r
- return ;\r
+ return;\r
}\r
\r
TcpSendZeroProbe (Tcb);\r
**/\r
VOID\r
TcpKeepaliveTimeout (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
)\r
{\r
Tcb->KeepAliveProbes++;\r
// Too many Keep-alive probes, drop the connection\r
//\r
if (Tcb->KeepAliveProbes > Tcb->MaxKeepAlive) {\r
-\r
if (EFI_ABORTED == Tcb->Sk->SockError) {\r
SOCK_ERROR (Tcb->Sk, EFI_TIMEOUT);\r
}\r
\r
TcpClose (Tcb);\r
- return ;\r
+ return;\r
}\r
\r
TcpSendZeroProbe (Tcb);\r
**/\r
VOID\r
TcpFinwait2Timeout (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
)\r
{\r
DEBUG (\r
(DEBUG_WARN,\r
- "TcpFinwait2Timeout: connection closed because FIN_WAIT2 timer timeouts for TCB %p\n",\r
- Tcb)\r
+ "TcpFinwait2Timeout: connection closed because FIN_WAIT2 timer timeouts for TCB %p\n",\r
+ Tcb)\r
);\r
\r
TcpClose (Tcb);\r
**/\r
VOID\r
Tcp2MSLTimeout (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
)\r
{\r
DEBUG (\r
(DEBUG_WARN,\r
- "Tcp2MSLTimeout: connection closed because TIME_WAIT timer timeouts for TCB %p\n",\r
- Tcb)\r
+ "Tcp2MSLTimeout: connection closed because TIME_WAIT timer timeouts for TCB %p\n",\r
+ Tcb)\r
);\r
\r
TcpClose (Tcb);\r
**/\r
VOID\r
TcpUpdateTimer (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
)\r
{\r
UINT16 Index;\r
TCP_CLEAR_FLG (Tcb->CtrlFlag, TCP_CTRL_TIMER_ON);\r
\r
for (Index = 0; Index < TCP_TIMER_NUMBER; Index++) {\r
-\r
if (TCP_TIMER_ON (Tcb->EnabledTimer, Index) &&\r
TCP_TIME_LT (Tcb->Timer[Index], mTcpTick + Tcb->NextExpire)\r
- ) {\r
-\r
+ )\r
+ {\r
Tcb->NextExpire = TCP_SUB_TIME (Tcb->Timer[Index], mTcpTick);\r
TCP_SET_FLG (Tcb->CtrlFlag, TCP_CTRL_TIMER_ON);\r
}\r
**/\r
VOID\r
TcpSetTimer (\r
- IN OUT TCP_CB *Tcb,\r
- IN UINT16 Timer,\r
- IN UINT32 TimeOut\r
+ IN OUT TCP_CB *Tcb,\r
+ IN UINT16 Timer,\r
+ IN UINT32 TimeOut\r
)\r
{\r
TCP_SET_TIMER (Tcb->EnabledTimer, Timer);\r
**/\r
VOID\r
TcpClearTimer (\r
- IN OUT TCP_CB *Tcb,\r
- IN UINT16 Timer\r
+ IN OUT TCP_CB *Tcb,\r
+ IN UINT16 Timer\r
)\r
{\r
TCP_CLEAR_TIMER (Tcb->EnabledTimer, Timer);\r
**/\r
VOID\r
TcpClearAllTimer (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
)\r
{\r
Tcb->EnabledTimer = 0;\r
**/\r
VOID\r
TcpSetProbeTimer (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
)\r
{\r
if (!Tcb->ProbeTimerOn) {\r
Tcb->ProbeTime = Tcb->Rto;\r
Tcb->ProbeTimerOn = TRUE;\r
-\r
} else {\r
Tcb->ProbeTime <<= 1;\r
}\r
\r
if (Tcb->ProbeTime < TCP_RTO_MIN) {\r
-\r
Tcb->ProbeTime = TCP_RTO_MIN;\r
} else if (Tcb->ProbeTime > TCP_RTO_MAX) {\r
-\r
Tcb->ProbeTime = TCP_RTO_MAX;\r
}\r
\r
**/\r
VOID\r
TcpSetKeepaliveTimer (\r
- IN OUT TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
)\r
{\r
if (TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_NO_KEEPALIVE)) {\r
- return ;\r
-\r
+ return;\r
}\r
\r
//\r
//\r
if (!TCP_TIMER_ON (Tcb->EnabledTimer, TCP_TIMER_KEEPALIVE) ||\r
(Tcb->Idle < Tcb->KeepAliveIdle)\r
- ) {\r
-\r
+ )\r
+ {\r
TcpSetTimer (Tcb, TCP_TIMER_KEEPALIVE, Tcb->KeepAliveIdle);\r
Tcb->KeepAliveProbes = 0;\r
-\r
} else {\r
-\r
TcpSetTimer (Tcb, TCP_TIMER_KEEPALIVE, Tcb->KeepAlivePeriod);\r
}\r
}\r
VOID\r
EFIAPI\r
TcpTickingDpc (\r
- IN VOID *Context\r
+ IN VOID *Context\r
)\r
{\r
- LIST_ENTRY *Entry;\r
- LIST_ENTRY *Next;\r
- TCP_CB *Tcb;\r
- INT16 Index;\r
+ LIST_ENTRY *Entry;\r
+ LIST_ENTRY *Next;\r
+ TCP_CB *Tcb;\r
+ INT16 Index;\r
\r
mTcpTick++;\r
mTcpGlobalIss += TCP_ISS_INCREMENT_2;\r
// Don't use LIST_FOR_EACH, which isn't delete safe.\r
//\r
for (Entry = mTcpRunQue.ForwardLink; Entry != &mTcpRunQue; Entry = Next) {\r
+ Next = Entry->ForwardLink;\r
\r
- Next = Entry->ForwardLink;\r
-\r
- Tcb = NET_LIST_USER_STRUCT (Entry, TCP_CB, List);\r
+ Tcb = NET_LIST_USER_STRUCT (Entry, TCP_CB, List);\r
\r
if (Tcb->State == TCP_CLOSED) {\r
continue;\r
}\r
+\r
//\r
// The connection is doing RTT measurement.\r
//\r
TcpSendAck (Tcb);\r
}\r
\r
- if (Tcb->IpInfo->IpVersion == IP_VERSION_6 && Tcb->Tick > 0) {\r
+ if ((Tcb->IpInfo->IpVersion == IP_VERSION_6) && (Tcb->Tick > 0)) {\r
Tcb->Tick--;\r
}\r
\r
// No timer is active or no timer expired\r
//\r
if (!TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_TIMER_ON) || ((--Tcb->NextExpire) > 0)) {\r
-\r
continue;\r
}\r
\r
// Call the timeout handler for each expired timer.\r
//\r
for (Index = 0; Index < TCP_TIMER_NUMBER; Index++) {\r
-\r
if (TCP_TIMER_ON (Tcb->EnabledTimer, Index) && TCP_TIME_LEQ (Tcb->Timer[Index], mTcpTick)) {\r
//\r
// disable the timer before calling the handler\r
VOID\r
EFIAPI\r
TcpTicking (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
)\r
{\r
QueueDpc (TPL_CALLBACK, TcpTickingDpc, Context);\r