Skip PXE prompt/menu/discover if PXE_DISCOVERY_CONTROL tag bit 3 set.
Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ye Ting <ting.ye@intel.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14332 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -98,6 +98,17 @@ PxeBcSelectBootPrompt (
|
||||
ASSERT (!Mode->UsingIpv6);
|
||||
|
||||
VendorOpt = &Cache->Dhcp4.VendorOpt;
|
||||
//
|
||||
// According to the PXE specification 2.1, Table 2-1 PXE DHCP Options,
|
||||
// we must not consider a boot prompt or boot menu if all of the following hold:
|
||||
// - the PXE_DISCOVERY_CONTROL tag(6) is present inside the Vendor Options(43), and has bit 3 set
|
||||
// - a boot file name has been presented in the initial DHCP or ProxyDHCP offer packet.
|
||||
//
|
||||
if (IS_DISABLE_PROMPT_MENU (VendorOpt->DiscoverCtrl) &&
|
||||
Cache->Dhcp4.OptList[PXEBC_DHCP4_TAG_INDEX_BOOTFILE] != NULL) {
|
||||
return EFI_ABORTED;
|
||||
}
|
||||
|
||||
if (!IS_VALID_BOOT_PROMPT (VendorOpt->BitMap)) {
|
||||
return EFI_TIMEOUT;
|
||||
}
|
||||
|
Reference in New Issue
Block a user