]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Choose a better subnet mask value for the IPv4 address.
authorlpleahy <lpleahy@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 29 Jun 2012 00:46:58 +0000 (00:46 +0000)
committerlpleahy <lpleahy@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 29 Jun 2012 00:46:58 +0000 (00:46 +0000)
Signed-off-by: lpleahy
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13479 6f19259b-4bc3-4df7-8a09-765794883524

StdLib/EfiSocketLib/Ip4.c
StdLib/EfiSocketLib/Tcp4.c
StdLib/EfiSocketLib/Udp4.c

index 5a0f5284f5eeb3f2e8c6b4637449930e87537cd3..80f328a8dd480052e9b78483be6db6cc833247be 100644 (file)
@@ -143,9 +143,9 @@ EslIp4LocalAddressSet (
     }\r
     else {\r
       pConfig->SubnetMask.Addr[0] = 0xff;\r
-      pConfig->SubnetMask.Addr[1] = 0xff;\r
-      pConfig->SubnetMask.Addr[2] = 0xff;\r
-      pConfig->SubnetMask.Addr[3] = 0xff;\r
+      pConfig->SubnetMask.Addr[1] = ( 128 <= pConfig->StationAddress.Addr[0]) ? 0xff : 0;\r
+      pConfig->SubnetMask.Addr[2] = ( 192 <= pConfig->StationAddress.Addr[0]) ? 0xff : 0;\r
+      pConfig->SubnetMask.Addr[3] = ( 224 <= pConfig->StationAddress.Addr[0]) ? 0xff : 0;\r
     }\r
   }\r
 \r
index 145186bb367d9ce3b3d4d31b9fb309ce26ff17cc..34e60e2a7f7a951a3b4ee02a084e2f7af9f74938 100644 (file)
@@ -1157,9 +1157,9 @@ EslTcp4LocalAddressSet (
     }\r
     else {\r
       pAccessPoint->SubnetMask.Addr[0] = 0xff;\r
-      pAccessPoint->SubnetMask.Addr[1] = 0xff;\r
-      pAccessPoint->SubnetMask.Addr[2] = 0xff;\r
-      pAccessPoint->SubnetMask.Addr[3] = 0xff;\r
+      pAccessPoint->SubnetMask.Addr[1] = ( 128 <= pAccessPoint->StationAddress.Addr[0]) ? 0xff : 0;\r
+      pAccessPoint->SubnetMask.Addr[2] = ( 192 <= pAccessPoint->StationAddress.Addr[0]) ? 0xff : 0;\r
+      pAccessPoint->SubnetMask.Addr[3] = ( 224 <= pAccessPoint->StationAddress.Addr[0]) ? 0xff : 0;\r
     }\r
 \r
     //\r
index ae67c4e8c543f8a770b3a8553cc5ce5f48a80c29..026f850377278e186c4b74eac1547d23fdb4a1b3 100644 (file)
@@ -131,9 +131,9 @@ EslUdp4LocalAddressSet (
     }\r
     else {\r
       pConfig->SubnetMask.Addr[0] = 0xff;\r
-      pConfig->SubnetMask.Addr[1] = 0xff;\r
-      pConfig->SubnetMask.Addr[2] = 0xff;\r
-      pConfig->SubnetMask.Addr[3] = 0xff;\r
+      pConfig->SubnetMask.Addr[1] = ( 128 <= pConfig->StationAddress.Addr[0]) ? 0xff : 0;\r
+      pConfig->SubnetMask.Addr[2] = ( 192 <= pConfig->StationAddress.Addr[0]) ? 0xff : 0;\r
+      pConfig->SubnetMask.Addr[3] = ( 224 <= pConfig->StationAddress.Addr[0]) ? 0xff : 0;\r
     }\r
 \r
     //\r