X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FUniversal%2FNetwork%2FUefiPxeBcDxe%2FPxeBcImpl.c;h=659f638930eaac63a506075ff835476ea62fb5cb;hp=3eeacdcc5c8065c51c56213b5a7dee9d9fb03db0;hb=2ce5c88a7adaea3eeeccc932b18da5f02440f8cd;hpb=b55f8b0146ab1a0b26909a63bb04ba850b9ba198 diff --git a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c index 3eeacdcc5c..659f638930 100644 --- a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c +++ b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c @@ -2480,9 +2480,11 @@ DiscoverBootFile ( } // - // use option 54, if zero, use siaddr in header + // Use siaddr(next server) in DHCPOFFER packet header, if zero, use option 54(server identifier) + // in DHCPOFFER packet. + // (It does not comply with PXE Spec, Ver2.1) // - if (Packet->Dhcp4Option[PXEBC_DHCP4_TAG_INDEX_SERVER_ID] != NULL) { + if (EFI_IP4_EQUAL (&Packet->Packet.Offer.Dhcp4.Header.ServerAddr, &mZeroIp4Addr)) { CopyMem ( &Private->ServerIp, Packet->Dhcp4Option[PXEBC_DHCP4_TAG_INDEX_SERVER_ID]->Data,