return Status;\r
}\r
\r
+ if (!Config->UseDefaultSetting && !EFI_IP4_EQUAL (&mZeroIp4Addr, &Config->GatewayIp)) {\r
+ //\r
+ // The station IP address is manually configured and the Gateway IP is not 0.\r
+ // Add the default route for this UDP instance.\r
+ //\r
+ Status = McastIo->Udp->Routes (McastIo->Udp, FALSE, &mZeroIp4Addr, &mZeroIp4Addr, &Config->GatewayIp);\r
+ if (EFI_ERROR (Status)) {\r
+ McastIo->Udp->Configure (McastIo->Udp, NULL);\r
+ return Status;\r
+ }\r
+ }\r
+\r
//\r
// join the multicast group\r
//\r
\r
return Status;\r
}\r
-\r
+ \r
//\r
// Update the parameters used.\r
//\r
if (Reply.BlkSize != 0) {\r
Instance->BlkSize = Reply.BlkSize;\r
}\r
-\r
+ \r
if (Reply.Timeout != 0) {\r
Instance->Timeout = Reply.Timeout;\r
- }\r
- }\r
-\r
+ } \r
+ } \r
+ \r
} else {\r
Instance->Master = TRUE;\r
-\r
+ \r
if (Reply.BlkSize != 0) {\r
Instance->BlkSize = Reply.BlkSize;\r
}\r
Instance->Timeout = Reply.Timeout;\r
}\r
}\r
-\r
+ \r
//\r
// Send an ACK to (Expected - 1) which is 0 for unicast download,\r
// or tell the server we want to receive the Expected block.\r