From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web12.13676.1607015853740126902 for ; Thu, 03 Dec 2020 09:17:35 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=none, err=permanent DNS error (domain: linux.intel.com, ip: 192.55.52.93, mailfrom: maciej.rabeda@linux.intel.com) IronPort-SDR: foiprJzQz6U6AJwOB35C/OWX7mV7YDukvnOIpInNoGA+IK1B78lv8xBAj65HEHEoX4OhrnocFD 3kV+uisaX2Og== X-IronPort-AV: E=McAfee;i="6000,8403,9824"; a="169730673" X-IronPort-AV: E=Sophos;i="5.78,390,1599548400"; d="scan'208";a="169730673" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Dec 2020 09:17:32 -0800 IronPort-SDR: RQkFaWIz47yoQ0eLqw/oSExKPfBXGpIC/pp1tZFR/sincLg+GROx7n4Y+AK7EGEoP0o1Jv4KiQ acarfoVmrgjw== X-IronPort-AV: E=Sophos;i="5.78,390,1599548400"; d="scan'208";a="482038371" Received: from mrabeda-mobl.ger.corp.intel.com (HELO [10.252.54.77]) ([10.252.54.77]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Dec 2020 09:17:30 -0800 Subject: Re: [edk2-devel] [PATCH v3] NetworkPkg: Add NETWORK_HTTP_ENABLE macro To: Laszlo Ersek , devel@edk2.groups.io, abner.chang@hpe.com Cc: Jiaxin Wu , Siyuan Fu , Nickle Wang , Peter O'Hanley References: <20201119015810.16755-1-abner.chang@hpe.com> <8c9f07a6-8fe6-a81c-828b-31c44079f682@redhat.com> From: "Maciej Rabeda" Message-ID: <1d6abfa7-2dd4-30d1-f2ad-53a761141058@linux.intel.com> Date: Thu, 3 Dec 2020 18:17:13 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.5.1 MIME-Version: 1.0 In-Reply-To: <8c9f07a6-8fe6-a81c-828b-31c44079f682@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: pl Merged: PR: https://github.com/tianocore/edk2/pull/1172 Commit: https://github.com/tianocore/edk2/commit/126115a9fb3f89f8609336c87aa82fe7da19a9aa On 19-Nov-20 13:18, Laszlo Ersek wrote: > On 11/19/20 02:58, Abner Chang wrote: >> BZ:2917 >> >> Add NETWORK_HTTP_ENABLE macro and separate HttpDxe >> and HttpUtilitiesDxe drivers from >> HTTP_NETWORK_HTTP_BOOT_ENABLE macro. >> >> Current NETWORK_HTTP_BOOT_ENABLE macro is defined to enable HTTP >> boot feature in POST, this macro is not only enabling HTTP Boot >> related modules but also enabling other generic HTTP modules >> such as HttpDxe, HttpUtilitiesDxe and DnsDxe. >> These HTTP base drivers would not be only used by HTTP boot >> when we introduce the use case of Redfish implementation over >> HTTP to edk2. >> We should have a dedicate macro to enable generic HTTP functions >> on Network stack and additionally provide NETWORK_HTTP_BOOT_ENABLE >> for HTTP boot functionality for the use case that platform doesn't >> require HTTP boot. >> >> Signed-off-by: Abner Chang >> Cc: Maciej Rabeda >> Cc: Jiaxin Wu >> Cc: Siyuan Fu >> Cc: Laszlo Ersek >> Cc: Nickle Wang >> Cc: Peter O'Hanley >> --- >> NetworkPkg/Network.fdf.inc | 5 ++++- >> NetworkPkg/NetworkComponents.dsc.inc | 5 ++++- >> NetworkPkg/NetworkDefines.dsc.inc | 19 +++++++++++++++++-- >> NetworkPkg/NetworkPkg.ci.yaml | 2 ++ >> 4 files changed, 27 insertions(+), 4 deletions(-) >> >> diff --git a/NetworkPkg/Network.fdf.inc b/NetworkPkg/Network.fdf.inc >> index 803a0d64fd..8a662ad1de 100644 >> --- a/NetworkPkg/Network.fdf.inc >> +++ b/NetworkPkg/Network.fdf.inc >> @@ -46,10 +46,13 @@ >> INF NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf >> !endif >> >> - !if $(NETWORK_HTTP_BOOT_ENABLE) == TRUE >> + !if ($(NETWORK_HTTP_BOOT_ENABLE) == TRUE) OR ($(NETWORK_HTTP_ENABLE) == TRUE) >> INF NetworkPkg/DnsDxe/DnsDxe.inf >> INF NetworkPkg/HttpDxe/HttpDxe.inf >> INF NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf >> + !endif >> + >> + !if $(NETWORK_HTTP_BOOT_ENABLE) == TRUE >> INF NetworkPkg/HttpBootDxe/HttpBootDxe.inf >> !endif >> >> diff --git a/NetworkPkg/NetworkComponents.dsc.inc b/NetworkPkg/NetworkComponents.dsc.inc >> index 40cb8ee18e..21cb62082f 100644 >> --- a/NetworkPkg/NetworkComponents.dsc.inc >> +++ b/NetworkPkg/NetworkComponents.dsc.inc >> @@ -48,10 +48,13 @@ >> NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf >> !endif >> >> - !if $(NETWORK_HTTP_BOOT_ENABLE) == TRUE >> + !if ($(NETWORK_HTTP_BOOT_ENABLE) == TRUE) OR ($(NETWORK_HTTP_ENABLE) == TRUE) >> NetworkPkg/DnsDxe/DnsDxe.inf >> NetworkPkg/HttpDxe/HttpDxe.inf >> NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf >> + !endif >> + >> + !if $(NETWORK_HTTP_BOOT_ENABLE) == TRUE >> NetworkPkg/HttpBootDxe/HttpBootDxe.inf >> !endif >> >> diff --git a/NetworkPkg/NetworkDefines.dsc.inc b/NetworkPkg/NetworkDefines.dsc.inc >> index 18921d81f6..54deb6342a 100644 >> --- a/NetworkPkg/NetworkDefines.dsc.inc >> +++ b/NetworkPkg/NetworkDefines.dsc.inc >> @@ -15,12 +15,14 @@ >> # DEFINE NETWORK_IP4_ENABLE = TRUE >> # DEFINE NETWORK_IP6_ENABLE = TRUE >> # DEFINE NETWORK_TLS_ENABLE = TRUE >> +# DEFINE NETWORK_HTTP_ENABLE = FALSE >> # DEFINE NETWORK_HTTP_BOOT_ENABLE = TRUE >> # DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = FALSE >> # DEFINE NETWORK_ISCSI_ENABLE = FALSE >> # DEFINE NETWORK_VLAN_ENABLE = TRUE >> # >> # Copyright (c) 2019, Intel Corporation. All rights reserved.
>> +# (C) Copyright 2020 Hewlett Packard Enterprise Development LP
>> # >> # SPDX-License-Identifier: BSD-2-Clause-Patent >> # >> @@ -73,10 +75,21 @@ >> DEFINE NETWORK_TLS_ENABLE = TRUE >> !endif >> >> +!ifndef NETWORK_HTTP_ENABLE >> + # >> + # This flag is to enable or disable HTTP(S) feature. >> + # The default is set to FALSE to not affecting the existing >> + # platforms. >> + # NETWORK_HTTP_ENABLE set to FALSE is not affecting NETWORK_HTTP_BOOT_ENABLE >> + # when NETWORK_HTTP_BOOT_ENABLE is TRUE. >> + DEFINE NETWORK_HTTP_ENABLE = FALSE >> +!endif >> + >> !ifndef NETWORK_HTTP_BOOT_ENABLE >> # >> # This flag is to enable or disable HTTP(S) boot feature. >> # >> + # > (1) This new empty line does not seem useful. > > I think the maintainer that merges this patch can remove the empty line; > no need to post v4 just because of it. > >> DEFINE NETWORK_HTTP_BOOT_ENABLE = TRUE >> !endif >> >> @@ -112,7 +125,9 @@ >> !error "Must enable at least IP4 or IP6 stack if NETWORK_ENABLE is set to TRUE!" >> !endif >> >> - !if ($(NETWORK_HTTP_BOOT_ENABLE) == TRUE) AND ($(NETWORK_TLS_ENABLE) == FALSE) AND ($(NETWORK_ALLOW_HTTP_CONNECTIONS) == FALSE) >> - !error "Must enable TLS to support HTTPS, or allow unsecured HTTP connection, if NETWORK_HTTP_BOOT_ENABLE is set to TRUE!" >> + !if ($(NETWORK_HTTP_BOOT_ENABLE) == TRUE) OR ($(NETWORK_HTTP_ENABLE) == TRUE) >> + !if ($(NETWORK_TLS_ENABLE) == FALSE) AND ($(NETWORK_ALLOW_HTTP_CONNECTIONS) == FALSE) >> + !error "Must enable TLS to support HTTPS, or allow unsecured HTTP connection, if NETWORK_HTTP_BOOT_ENABLE or NETWORK_HTTP_ENABLE is set to TRUE!" >> + !endif >> !endif >> !endif >> diff --git a/NetworkPkg/NetworkPkg.ci.yaml b/NetworkPkg/NetworkPkg.ci.yaml >> index 1a3ab71792..07dc7abd69 100644 >> --- a/NetworkPkg/NetworkPkg.ci.yaml >> +++ b/NetworkPkg/NetworkPkg.ci.yaml >> @@ -3,6 +3,7 @@ >> # >> # Copyright (c) Microsoft Corporation >> # Copyright (c) 2020, Intel Corporation. All rights reserved.
>> +# (C) Copyright 2020 Hewlett Packard Enterprise Development LP
>> # SPDX-License-Identifier: BSD-2-Clause-Patent >> ## >> { >> @@ -71,6 +72,7 @@ >> "BLD_*_NETWORK_IP4_ENABLE": "TRUE", >> "BLD_*_NETWORK_IP6_ENABLE": "TRUE", >> "BLD_*_NETWORK_TLS_ENABLE": "TRUE", >> + "BLD_*_NETWORK_HTTP_ENABLE": "FALSE", >> "BLD_*_NETWORK_HTTP_BOOT_ENABLE": "TRUE", >> "BLD_*_NETWORK_ISCSI_ENABLE": "TRUE", >> } >> > The patch should be merged after the edk2-stable202011 release. > > Reviewed-by: Laszlo Ersek > > Thanks! > Laszlo >