From nobody Sun May 5 22:16:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+64453+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+64453+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=linux.intel.com ARC-Seal: i=1; a=rsa-sha256; t=1597856033; cv=none; d=zohomail.com; s=zohoarc; b=BaDcwK6fE0royuDKvNm7rduXz6ON+zf2DfP7sU0RJOj97JG6xDmmSQh3x3syDBPT3Wbtib6/vW9xunEDf6w4h/q80Jq6L0mx4YXdZtkx/mOVRFn62XmjjMflD22hUXvbhqRiZmmWUxojYDaqzUeitqRzcOLhz/2dVGxlIyUKSsw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1597856033; h=Content-Transfer-Encoding:Cc:Date:From:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=0rg/4Tk4ZrDsfMpBvV7D122VzR6PNK7rFsB6+vaIKEg=; b=Dsw9YO/a6mUrzqaT5VR6wgIxzdwaILu3GN1rcGQ3dOEoBub11iWs4Phh4CYnOgyoHGhN09x86FcIl/ZQG6dLTaC/hE1VmuKao4oRSTtV/B4HWVkP6NhAzbMZfHm4tz3zujfvNK1FAfexSQqz6S11MhgxJR3v5AF5dooMQ1DdW0M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+64453+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1597856033028576.4431951354801; Wed, 19 Aug 2020 09:53:53 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id Ge63YY1788612xlKoORNbdq9; Wed, 19 Aug 2020 09:53:52 -0700 X-Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web10.92699.1597856031379793917 for ; Wed, 19 Aug 2020 09:53:51 -0700 IronPort-SDR: Tf3/bxh3KcE2fUWwziSPS8Xx/Mcd8tHILT/jKn/h0cOebNbd4fMAA6x9FUOlnnfV1PjFULKksx ZYYKx8KZGTMw== X-IronPort-AV: E=McAfee;i="6000,8403,9718"; a="134676830" X-IronPort-AV: E=Sophos;i="5.76,332,1592895600"; d="scan'208";a="134676830" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Aug 2020 09:53:50 -0700 IronPort-SDR: xpz2Y4UI1PWJbjcS1i5gyCdQ1v5kfLgRLX+vLJvVDr174Zuj807WsGwGkQLMS4pOyN1cjuAdhd qr+YIXovUOWQ== X-IronPort-AV: E=Sophos;i="5.76,332,1592895600"; d="scan'208";a="472303674" X-Received: from mrabeda-mobl.ger.corp.intel.com ([10.249.158.203]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Aug 2020 09:53:49 -0700 From: "Maciej Rabeda" To: devel@edk2.groups.io Cc: Jiaxin Wu , Siyuan Fu Subject: [edk2-devel] [PATCH v1] NetworkPkg/UefiPxeBcDxe: Fix PXE_BOOT_SERVERS usage in boot info parse flow Date: Wed, 19 Aug 2020 18:53:38 +0200 Message-Id: <20200819165338.681-1-maciej.rabeda@linux.intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,maciej.rabeda@linux.intel.com X-Gm-Message-State: HxuczkCY1Fm3PJta6jviqEvXx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1597856032; bh=xhcPb1PA5w+3lUgtaYGYFzplmlWqratM+8WC0DaFCxk=; h=Cc:Date:From:Reply-To:Subject:To; b=KJb4quFWL75Fnm/WyJQRqWXDGK6OIaXJk0kMawIMTHt7RJh+Kwb1HShHgpQ/RG+D5ni m77WK74s4GBp8hTpPv9r/H71xs7NZMfEUFxB0UkbsEHTQtm9uHC/ZU7MVrEswubxQuBIm +3PUgDKT3EN7WOk99FKL1XtyID/WcHNsc9g= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2876 According to PXE 2.1 spec, DHCP option 43, tag 6 (PXE_DISCOVERY_CONTROL), bit 3 specifies whether PXE client should use/accept TFTP servers defined within PXE_BOOT_SERVERS list (tag 8). This bit was not being taken into account when choosing boot server IP in PxeBcDhcp4BootInfo(). Cc: Jiaxin Wu Cc: Siyuan Fu Signed-off-by: Maciej Rabeda Reviewed-by: Laszlo Ersek Reviewed-by: Siyuan Fu --- NetworkPkg/UefiPxeBcDxe/PxeBcBoot.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcBoot.c b/NetworkPkg/UefiPxeBcDxe/= PxeBcBoot.c index d062a526077b..ed9bca0f7de3 100644 --- a/NetworkPkg/UefiPxeBcDxe/PxeBcBoot.c +++ b/NetworkPkg/UefiPxeBcDxe/PxeBcBoot.c @@ -499,12 +499,16 @@ PxeBcDhcp4BootInfo ( =20 // // Parse the boot server address. - // If prompt/discover is disabled, get the first boot server from the bo= ot servers list. - // Otherwise, parse the boot server Ipv4 address from next server addres= s field in DHCP header. + // If prompt/discover is disabled, server list should be used and is pre= sent (DHCP option 43), + // get the first boot server from the boot servers list. + // Otherwise, parse the boot server IPv4 address from next server addres= s field in DHCP header. // If all these fields are not available, use option 54 instead. // VendorOpt =3D &Cache4->VendorOpt; - if (IS_DISABLE_PROMPT_MENU (VendorOpt->DiscoverCtrl) && IS_VALID_BOOT_SE= RVERS (VendorOpt->BitMap)) { + if (IS_DISABLE_PROMPT_MENU (VendorOpt->DiscoverCtrl) && + IS_VALID_BOOT_SERVERS (VendorOpt->BitMap) && + IS_ENABLE_USE_SERVER_LIST (VendorOpt->DiscoverCtrl)) + { Entry =3D VendorOpt->BootSvr; if (VendorOpt->BootSvrLen >=3D sizeof (PXEBC_BOOT_SVR_ENTRY) && Entry-= >IpCnt > 0) { CopyMem ( --=20 2.24.0.windows.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#64453): https://edk2.groups.io/g/devel/message/64453 Mute This Topic: https://groups.io/mt/76290910/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-