]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Timer.c
Use siaddr in DHCP packet, if zero, use option 54 instead.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Tcp4Dxe / Tcp4Timer.c
index 945a5cac22f00a317fecb3c76ad5b13b58e54395..91e763c48646c49573099dd71298b951e5d67868 100644 (file)
@@ -24,7 +24,7 @@ UINT32    mTcpTick = 1000;
 **/\r
 VOID\r
 TcpConnectTimeout (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   );\r
 \r
 /**\r
@@ -35,7 +35,7 @@ TcpConnectTimeout (
 **/\r
 VOID\r
 TcpRexmitTimeout (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   );\r
   \r
 /**\r
@@ -46,7 +46,7 @@ TcpRexmitTimeout (
 **/\r
 VOID\r
 TcpProbeTimeout (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   );\r
 \r
 /**\r
@@ -57,7 +57,7 @@ TcpProbeTimeout (
 **/\r
 VOID\r
 TcpKeepaliveTimeout (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   );\r
 \r
 /**\r
@@ -68,7 +68,7 @@ TcpKeepaliveTimeout (
 **/\r
 VOID\r
 TcpFinwait2Timeout (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   );\r
 \r
 /**\r
@@ -79,7 +79,7 @@ TcpFinwait2Timeout (
 **/\r
 VOID\r
 Tcp2MSLTimeout (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   );\r
 \r
 TCP_TIMER_HANDLER mTcpTimerHandler[TCP_TIMER_NUMBER] = {\r
@@ -99,7 +99,7 @@ TCP_TIMER_HANDLER mTcpTimerHandler[TCP_TIMER_NUMBER] = {
 **/\r
 VOID\r
 TcpClose (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   )\r
 {\r
   NetbufFreeList (&Tcb->SndQue);\r
@@ -117,7 +117,7 @@ TcpClose (
 **/\r
 VOID\r
 TcpConnectTimeout (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   )\r
 {\r
   if (!TCP_CONNECTED (Tcb->State)) {\r
@@ -149,7 +149,7 @@ TcpConnectTimeout (
 **/\r
 VOID\r
 TcpRexmitTimeout (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   )\r
 {\r
   UINT32  FlightSize;\r
@@ -200,7 +200,7 @@ TcpRexmitTimeout (
 **/\r
 VOID\r
 TcpProbeTimeout (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   )\r
 {\r
   //\r
@@ -228,7 +228,7 @@ TcpProbeTimeout (
 **/\r
 VOID\r
 TcpKeepaliveTimeout (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   )\r
 {\r
   Tcb->KeepAliveProbes++;\r
@@ -259,7 +259,7 @@ TcpKeepaliveTimeout (
 **/\r
 VOID\r
 TcpFinwait2Timeout (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   )\r
 {\r
   DEBUG ((EFI_D_WARN, "TcpFinwait2Timeout: connection closed "\r
@@ -277,7 +277,7 @@ TcpFinwait2Timeout (
 **/\r
 VOID\r
 Tcp2MSLTimeout (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   )\r
 {\r
   DEBUG ((EFI_D_WARN, "Tcp2MSLTimeout: connection closed "\r
@@ -296,7 +296,7 @@ Tcp2MSLTimeout (
 **/\r
 VOID\r
 TcpUpdateTimer (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   )\r
 {\r
   UINT16  Index;\r
@@ -330,9 +330,9 @@ TcpUpdateTimer (
 **/\r
 VOID\r
 TcpSetTimer (\r
-  IN 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
@@ -351,8 +351,8 @@ TcpSetTimer (
 **/\r
 VOID\r
 TcpClearTimer (\r
-  IN 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
@@ -368,7 +368,7 @@ TcpClearTimer (
 **/\r
 VOID\r
 TcpClearAllTimer (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   )\r
 {\r
   Tcb->EnabledTimer = 0;\r
@@ -384,7 +384,7 @@ TcpClearAllTimer (
 **/\r
 VOID\r
 TcpSetProbeTimer (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   )\r
 {\r
   if (!TCP_TIMER_ON (Tcb->EnabledTimer, TCP_TIMER_PROBE)) {\r
@@ -414,7 +414,7 @@ TcpSetProbeTimer (
 **/\r
 VOID\r
 TcpSetKeepaliveTimer (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   )\r
 {\r
   if (TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_NO_KEEPALIVE)) {\r
@@ -450,7 +450,7 @@ TcpSetKeepaliveTimer (
 **/\r
 VOID\r
 TcpBackoffRto (\r
-  IN TCP_CB *Tcb\r
+  IN OUT TCP_CB *Tcb\r
   )\r
 {\r
   //\r
@@ -549,15 +549,17 @@ TcpTickingDpc (
         //\r
         if ((Next->BackLink != Entry) ||\r
             (Tcb->EnabledTimer == 0)) {\r
-\r
-          goto NextConnection;\r
+          break;\r
         }\r
       }\r
     }\r
-\r
-    TcpUpdateTimer (Tcb);\r
-NextConnection:\r
-    ;\r
+    \r
+    //\r
+    // If the Tcb still exist or some timer is set, update the timer\r
+    //\r
+    if (Index == TCP_TIMER_NUMBER) {\r
+      TcpUpdateTimer (Tcb);\r
+    }\r
   }\r
 }\r
 \r
@@ -575,6 +577,6 @@ TcpTicking (
   IN VOID      *Context\r
   )\r
 {\r
-  NetLibQueueDpc (TPL_CALLBACK, TcpTickingDpc, Context);\r
+  QueueDpc (TPL_CALLBACK, TcpTickingDpc, Context);\r
 }\r
 \r