git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9066
6f19259b-4bc3-4df7-8a09-
765794883524
Offer = &Private->Dhcp4Offers[Index].Packet.Offer;\r
\r
//\r
Offer = &Private->Dhcp4Offers[Index].Packet.Offer;\r
\r
//\r
- // use option 54, if zero, use siaddr in header\r
+ // Use siaddr(next server) in DHCPOFFER packet header, if zero, use option 54(server identifier)\r
+ // in DHCPOFFER packet.\r
+ // (It does not comply with PXE Spec, Ver2.1)\r
- ZeroMem (&ServerIp, sizeof(EFI_IP_ADDRESS));\r
- if (Private->Dhcp4Offers[Index].Dhcp4Option[PXEBC_DHCP4_TAG_INDEX_SERVER_ID] != NULL) {\r
+ if (EFI_IP4_EQUAL (&Offer->Dhcp4.Header.ServerAddr.Addr, &mZeroIp4Addr)) {\r
CopyMem (\r
&ServerIp.Addr[0],\r
Private->Dhcp4Offers[Index].Dhcp4Option[PXEBC_DHCP4_TAG_INDEX_SERVER_ID]->Data,\r
CopyMem (\r
&ServerIp.Addr[0],\r
Private->Dhcp4Offers[Index].Dhcp4Option[PXEBC_DHCP4_TAG_INDEX_SERVER_ID]->Data,\r
- // use option 54, if zero, use siaddr in header\r
+ // Use siaddr(next server) in DHCPOFFER packet header, if zero, use option 54(server identifier)\r
+ // in DHCPOFFER packet.\r
+ // (It does not comply with PXE Spec, Ver2.1)\r
- if (Packet->Dhcp4Option[PXEBC_DHCP4_TAG_INDEX_SERVER_ID] != NULL) {\r
+ if (EFI_IP4_EQUAL (&Packet->Packet.Offer.Dhcp4.Header.ServerAddr, &mZeroIp4Addr)) {\r
CopyMem (\r
&Private->ServerIp,\r
Packet->Dhcp4Option[PXEBC_DHCP4_TAG_INDEX_SERVER_ID]->Data,\r
CopyMem (\r
&Private->ServerIp,\r
Packet->Dhcp4Option[PXEBC_DHCP4_TAG_INDEX_SERVER_ID]->Data,\r