+\r
+ if (Mode->PxeReplyReceived && !Mode->ProxyOfferReceived) {\r
+ //\r
+ // Some network boot loader only search the packet in Mode.ProxyOffer to get its server\r
+ // IP address, so we need to store a copy of Mode.PxeReply packet into Mode.ProxyOffer.\r
+ //\r
+ if (Mode->UsingIpv6) {\r
+ CopyMem (\r
+ &Mode->ProxyOffer.Dhcpv6,\r
+ &Mode->PxeReply.Dhcpv6,\r
+ Private->PxeReply.Dhcp6.Packet.Ack.Length\r
+ );\r
+ } else {\r
+ CopyMem (\r
+ &Mode->ProxyOffer.Dhcpv4,\r
+ &Mode->PxeReply.Dhcpv4,\r
+ Private->PxeReply.Dhcp4.Packet.Ack.Length\r
+ ); \r
+ }\r
+ Mode->ProxyOfferReceived = TRUE;\r
+ }\r