]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Misc.c
1. Enable Network stack to pass SCT, currently MNP, ARP, IP4, TCP4 and DHCP4 have...
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Tcp4Dxe / Tcp4Misc.c
index 7f1f141bc8c0d89a5b501d67c1a533fbaecfb5ee..1cc84881118e2c043de0595deb52d80bafb7931d 100644 (file)
@@ -123,7 +123,7 @@ TcpInitTcbPeer (
   }\r
 \r
   if (TCP_FLG_ON (Opt->Flag, TCP_OPTION_RCVD_MSS)) {\r
-    Tcb->SndMss = NET_MAX (64, Opt->Mss);\r
+    Tcb->SndMss = (UINT16) NET_MAX (64, Opt->Mss);\r
 \r
     RcvMss = TcpGetRcvMss (Tcb->Sk);\r
     if (Tcb->SndMss > RcvMss) {\r
@@ -267,7 +267,7 @@ TcpFindTcbByPeer (
   NET_LIST_FOR_EACH (Entry, &mTcpListenQue) {\r
     Tcb = NET_LIST_USER_STRUCT (Entry, TCP_CB, List);\r
 \r
-    if ((EFI_IP4 (*Addr) == Tcb->LocalEnd.Ip) &&\r
+    if (EFI_IP4_EQUAL (*Addr, Tcb->LocalEnd.Ip) &&\r
       (LocalPort == Tcb->LocalEnd.Port)) {\r
 \r
       return TRUE;\r
@@ -277,7 +277,7 @@ TcpFindTcbByPeer (
   NET_LIST_FOR_EACH (Entry, &mTcpRunQue) {\r
     Tcb = NET_LIST_USER_STRUCT (Entry, TCP_CB, List);\r
 \r
-    if (((EFI_IP4 (*Addr) == Tcb->LocalEnd.Ip)) &&\r
+    if (EFI_IP4_EQUAL (*Addr, Tcb->LocalEnd.Ip) &&\r
       (LocalPort == Tcb->LocalEnd.Port)) {\r
 \r
       return TRUE;\r
@@ -568,7 +568,7 @@ TcpChecksum (
               HTONS ((UINT16) Nbuf->TotalSize)\r
               );\r
 \r
-  return ~Checksum;\r
+  return (UINT16) ~Checksum;\r
 }\r
 \r
 \r
@@ -806,6 +806,7 @@ TcpOnAppConsume (
   IN TCP_CB *Tcb\r
   )\r
 {\r
+  UINT32 TcpOld;\r
 \r
   switch (Tcb->State) {\r
   case TCP_CLOSED:\r
@@ -822,9 +823,10 @@ TcpOnAppConsume (
     break;\r
 \r
   case TCP_ESTABLISHED:\r
-    if (TcpRcvWinNow (Tcb) > TcpRcvWinOld (Tcb)) {\r
+    TcpOld = TcpRcvWinOld (Tcb);\r
+    if (TcpRcvWinNow (Tcb) > TcpOld) {\r
 \r
-      if (TcpRcvWinOld (Tcb) < Tcb->RcvMss) {\r
+      if (TcpOld < Tcb->RcvMss) {\r
 \r
         TCP4_DEBUG_TRACE (("TcpOnAppConsume: send a window"\r
           " update for a window closed Tcb(%x)\n", Tcb));\r
@@ -981,9 +983,9 @@ TcpSetVariableData (
       // This tcp instance belongs to the Tcp4Service.\r
       //\r
       Tcp4ServicePoint->InstanceHandle          = TcpPcb->Sk->SockHandle;\r
-      EFI_IP4 (Tcp4ServicePoint->LocalAddress)  = TcpPcb->LocalEnd.Ip;\r
+      NetCopyMem (&Tcp4ServicePoint->LocalAddress, &TcpPcb->LocalEnd.Ip, sizeof (EFI_IPv4_ADDRESS));\r
       Tcp4ServicePoint->LocalPort               = NTOHS (TcpPcb->LocalEnd.Port);\r
-      EFI_IP4 (Tcp4ServicePoint->RemoteAddress) = TcpPcb->RemoteEnd.Ip;\r
+      NetCopyMem (&Tcp4ServicePoint->RemoteAddress, &TcpPcb->RemoteEnd.Ip, sizeof (EFI_IPv4_ADDRESS));\r
       Tcp4ServicePoint->RemotePort              = NTOHS (TcpPcb->RemoteEnd.Port);\r
 \r
       Tcp4ServicePoint++;\r
@@ -1003,9 +1005,9 @@ TcpSetVariableData (
       // This tcp instance belongs to the Tcp4Service.\r
       //\r
       Tcp4ServicePoint->InstanceHandle          = TcpPcb->Sk->SockHandle;\r
-      EFI_IP4 (Tcp4ServicePoint->LocalAddress)  = TcpPcb->LocalEnd.Ip;\r
+      NetCopyMem (&Tcp4ServicePoint->LocalAddress, &TcpPcb->LocalEnd.Ip, sizeof (EFI_IPv4_ADDRESS));\r
       Tcp4ServicePoint->LocalPort               = NTOHS (TcpPcb->LocalEnd.Port);\r
-      EFI_IP4 (Tcp4ServicePoint->RemoteAddress) = TcpPcb->RemoteEnd.Ip;\r
+      NetCopyMem (&Tcp4ServicePoint->RemoteAddress, &TcpPcb->RemoteEnd.Ip, sizeof (EFI_IPv4_ADDRESS));\r
       Tcp4ServicePoint->RemotePort              = NTOHS (TcpPcb->RemoteEnd.Port);\r
 \r
       Tcp4ServicePoint++;\r