]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Ip4Dxe/Ip4If.c
MdeModulePkg: Update the Ethernet interface name.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Ip4Dxe / Ip4If.c
index e45727679638106bf2a021d833fa822fbb43aa8e..b0cc6a3dc7f0bd3ca343d77c033aafc2cd23211c 100644 (file)
@@ -560,12 +560,15 @@ Ip4SetAddress (
 {\r
   EFI_ARP_CONFIG_DATA       ArpConfig;\r
   EFI_STATUS                Status;\r
-  INTN                      Type;\r
   INTN                      Len;\r
-  IP4_ADDR                  Netmask;\r
 \r
   NET_CHECK_SIGNATURE (Interface, IP4_INTERFACE_SIGNATURE);\r
 \r
+  Len = NetGetMaskLength (SubnetMask);\r
+  if (Len == IP4_MASK_NUM) {\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
+\r
   //\r
   // Set the ip/netmask, then compute the subnet broadcast\r
   // and network broadcast for easy access. When computing\r
@@ -577,13 +580,7 @@ Ip4SetAddress (
   Interface->Ip             = IpAddr;\r
   Interface->SubnetMask     = SubnetMask;\r
   Interface->SubnetBrdcast  = (IpAddr | ~SubnetMask);\r
-\r
-  Type                      = NetGetIpClass (IpAddr);\r
-  ASSERT (Type <= IP4_ADDR_CLASSC);\r
-  Len                       = NetGetMaskLength (SubnetMask);\r
-  ASSERT (Len <= IP4_MASK_MAX);\r
-  Netmask                   = gIp4AllMasks[MIN (Len, Type << 3)];\r
-  Interface->NetBrdcast     = (IpAddr | ~Netmask);\r
+  Interface->NetBrdcast     = (IpAddr | ~SubnetMask);\r
 \r
   //\r
   // Do clean up for Arp child\r