From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web10.7984.1605786723248846593 for ; Thu, 19 Nov 2020 03:52:03 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=none, err=permanent DNS error (domain: linux.intel.com, ip: 134.134.136.20, mailfrom: maciej.rabeda@linux.intel.com) IronPort-SDR: kTjNQBw9u22sXeSaCYODzwww1ibvTgT1tz/zONQ+FEQ7w06WoDWdHvbUojN2q95+zZ0T0uPkLA p5DrMbza4Ajg== X-IronPort-AV: E=McAfee;i="6000,8403,9809"; a="158309829" X-IronPort-AV: E=Sophos;i="5.77,490,1596524400"; d="scan'208";a="158309829" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Nov 2020 03:52:02 -0800 IronPort-SDR: Jgr9b6WoQrGrWY/oIDykhWMgxyIDFOqAr0FyEsFouJackercfL0U1rPbVP8XxGJgHcHgN7z8v1 BukJuNh38xQA== X-IronPort-AV: E=Sophos;i="5.77,490,1596524400"; d="scan'208";a="544982005" Received: from mrabeda-mobl.ger.corp.intel.com (HELO [10.213.22.153]) ([10.213.22.153]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Nov 2020 03:52:00 -0800 Subject: Re: [edk2-devel] [PATCH v3] NetworkPkg: Add NETWORK_HTTP_ENABLE macro To: devel@edk2.groups.io, lersek@redhat.com, abner.chang@hpe.com Cc: Jiaxin Wu , Siyuan Fu , Nickle Wang , Peter O'Hanley References: <20201119015810.16755-1-abner.chang@hpe.com> From: "Maciej Rabeda" Message-ID: Date: Thu, 19 Nov 2020 12:51:47 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.3 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: pl Reviewed-by: Maciej Rabeda I will merge this patch after next stable tag. Thanks, Maciej On 19-Nov-20 10:47, 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. >> # >> + # >> 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", >> } >> > queued for later review, thanks for your patience > > > > > >