]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Output.c
MdeModulePkg/Network: Add 32bit subnet mask support for IP4 PXE boot.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Ip4Dxe / Ip4Output.c
index 1716f43576f2a4c888b37d1546d9fa3ff2d45bfa..6b759d8d103228488e4275b0de5c3520a6621d02 100644 (file)
@@ -309,15 +309,15 @@ Ip4Output (
     // Route the packet unless overrided, that is, GateWay isn't zero.\r
     //\r
     if (IpInstance == NULL) {\r
-      CacheEntry = Ip4Route (IpSb->DefaultRouteTable, Head->Dst, Head->Src);\r
+      CacheEntry = Ip4Route (IpSb->DefaultRouteTable, Head->Dst, Head->Src, IpIf->SubnetMask, TRUE);\r
     } else {\r
-      CacheEntry = Ip4Route (IpInstance->RouteTable, Head->Dst, Head->Src);\r
+      CacheEntry = Ip4Route (IpInstance->RouteTable, Head->Dst, Head->Src, IpIf->SubnetMask, FALSE);\r
       //\r
       // If failed to route the packet by using the instance's route table,\r
       // try to use the default route table.\r
       //\r
       if (CacheEntry == NULL) {\r
-        CacheEntry = Ip4Route (IpSb->DefaultRouteTable, Head->Dst, Head->Src);\r
+        CacheEntry = Ip4Route (IpSb->DefaultRouteTable, Head->Dst, Head->Src, IpIf->SubnetMask, TRUE);\r
       }\r
     }\r
 \r
@@ -386,7 +386,8 @@ Ip4Output (
                  Fragment,\r
                  GateWay,\r
                  Ip4SysPacketSent,\r
-                 Packet\r
+                 Packet,\r
+                 IpSb\r
                  );\r
 \r
       if (EFI_ERROR (Status)) {\r
@@ -429,7 +430,7 @@ Ip4Output (
   //    upper layer's packets.\r
   //\r
   Ip4PrependHead (Packet, Head, Option, OptLen);\r
-  Status = Ip4SendFrame (IpIf, IpInstance, Packet, GateWay, Callback, Context);\r
+  Status = Ip4SendFrame (IpIf, IpInstance, Packet, GateWay, Callback, Context, IpSb);\r
 \r
   if (EFI_ERROR (Status)) {\r
     goto ON_ERROR;\r