mirror of https://github.com/acidanthera/audk.git
be37315a08
In case of the DHCP and PXE services on different servers,PXEv6 boot will failure when DhcpBinl offer received. The issue is caused by the following reasons: * PXE Client doesn't append VENDOR_CLASS request parameter, so the offer replied from DHCP service will not contain VENDOR_CLASS option (16). * Once the DhcpBinl offer is selected, the boot discover message should be sent out to request the bootfile by this offer. Current implementation always use servers multi-cast address instead of BootFileUrl address in dhcp6 offer. we should check it first, then decide whether use multi-cast address or not. * If DhcpBinl offer is selected, the boot discover message shouldn't find server ID Option from DhcpBinl offer. That's incorrect because DHCP service and PXE service on different servers. In such a case, we can ignore the Server ID Option. With the above fix in the patch, PXEv6 can boot successfully when DhcpBinl offer received. Cc: Ye Ting <ting.ye@intel.com> Cc: Fu Siyuan <siyuan.fu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com> |
||
---|---|---|
.. | ||
ComponentName.c | ||
PxeBcBoot.c | ||
PxeBcBoot.h | ||
PxeBcDhcp4.c | ||
PxeBcDhcp4.h | ||
PxeBcDhcp6.c | ||
PxeBcDhcp6.h | ||
PxeBcDriver.c | ||
PxeBcDriver.h | ||
PxeBcImpl.c | ||
PxeBcImpl.h | ||
PxeBcMtftp.c | ||
PxeBcMtftp.h | ||
PxeBcSupport.c | ||
PxeBcSupport.h | ||
UefiPxeBcDxe.inf | ||
UefiPxeBcDxe.uni | ||
UefiPxeBcDxeExtra.uni |