public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v2] NetworkPkg: Add NETWORK_HTTP_ENABLE macro
@ 2020-11-12  6:10 Abner Chang
  2020-11-14  0:36 ` [edk2-devel] " Laszlo Ersek
  0 siblings, 1 reply; 2+ messages in thread
From: Abner Chang @ 2020-11-12  6:10 UTC (permalink / raw)
  To: devel
  Cc: Maciej Rabeda, Jiaxin Wu, Siyuan Fu, Laszlo Ersek, Nickle Wang,
	Peter O'Hanley

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 <abner.chang@hpe.com>
Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Nickle Wang <nickle.wang@hpe.com>
Cc: Peter O'Hanley <peter.ohanley@hpe.com>
---
 NetworkPkg/Network.fdf.inc           | 5 ++++-
 NetworkPkg/NetworkComponents.dsc.inc | 5 ++++-
 NetworkPkg/NetworkDefines.dsc.inc    | 9 +++++++++
 NetworkPkg/NetworkPkg.ci.yaml        | 1 +
 4 files changed, 18 insertions(+), 2 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 a442d1b157..6f274582a8 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            = TRUE
 #   DEFINE NETWORK_HTTP_BOOT_ENABLE       = TRUE
 #   DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = FALSE
 #   DEFINE NETWORK_ISCSI_ENABLE           = TRUE
 #   DEFINE NETWORK_VLAN_ENABLE            = TRUE
 #
 # Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+# (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>
 #
 #    SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -73,6 +75,13 @@
   DEFINE NETWORK_TLS_ENABLE = TRUE
 !endif
 
+!ifndef NETWORK_HTTP_ENABLE
+  #
+  # This flag is to enable or disable HTTP(S) feature.
+  #
+  DEFINE NETWORK_HTTP_ENABLE = TRUE
+!endif
+
 !ifndef NETWORK_HTTP_BOOT_ENABLE
   #
   # This flag is to enable or disable HTTP(S) boot feature.
diff --git a/NetworkPkg/NetworkPkg.ci.yaml b/NetworkPkg/NetworkPkg.ci.yaml
index 1a3ab71792..66b74cfe9a 100644
--- a/NetworkPkg/NetworkPkg.ci.yaml
+++ b/NetworkPkg/NetworkPkg.ci.yaml
@@ -71,6 +71,7 @@
         "BLD_*_NETWORK_IP4_ENABLE": "TRUE",
         "BLD_*_NETWORK_IP6_ENABLE": "TRUE",
         "BLD_*_NETWORK_TLS_ENABLE": "TRUE",
+        "BLD_*_NETWORK_HTTP_ENABLE": "TRUE",
         "BLD_*_NETWORK_HTTP_BOOT_ENABLE": "TRUE",
         "BLD_*_NETWORK_ISCSI_ENABLE": "TRUE",
     }
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [edk2-devel] [PATCH v2] NetworkPkg: Add NETWORK_HTTP_ENABLE macro
  2020-11-12  6:10 [PATCH v2] NetworkPkg: Add NETWORK_HTTP_ENABLE macro Abner Chang
@ 2020-11-14  0:36 ` Laszlo Ersek
  0 siblings, 0 replies; 2+ messages in thread
From: Laszlo Ersek @ 2020-11-14  0:36 UTC (permalink / raw)
  To: devel, abner.chang
  Cc: Maciej Rabeda, Jiaxin Wu, Siyuan Fu, Nickle Wang,
	Peter O'Hanley

Hi Abner,

On 11/12/20 07:10, 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 <abner.chang@hpe.com>
> Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com>
> Cc: Jiaxin Wu <jiaxin.wu@intel.com>
> Cc: Siyuan Fu <siyuan.fu@intel.com>
> Cc: Laszlo Ersek <lersek@redhat.com>
> Cc: Nickle Wang <nickle.wang@hpe.com>
> Cc: Peter O'Hanley <peter.ohanley@hpe.com>
> ---
>  NetworkPkg/Network.fdf.inc           | 5 ++++-
>  NetworkPkg/NetworkComponents.dsc.inc | 5 ++++-
>  NetworkPkg/NetworkDefines.dsc.inc    | 9 +++++++++
>  NetworkPkg/NetworkPkg.ci.yaml        | 1 +
>  4 files changed, 18 insertions(+), 2 deletions(-)

Thanks for fixing up the bracketed subject prefix.

Also thanks for the new paragraph in the commit message.

Regarding the change to the "NetworkPkg/NetworkPkg.ci.yaml" file, which
is new in v2, I'm not sure if it makes any difference. I certainly don't
mind it.

However, other than the above, this patch is identical to v1. It seems
like you missed my points (2) through (6) in my v1 review:

https://edk2.groups.io/g/devel/message/67310

https://www.redhat.com/archives/edk2-devel-archive/2020-November/msg00467.html

Please don't stop reading my messages until you reach the end of the
email, or my signature. I *always* make it clear in my emails when/where
the recipient is supposed to stop reading.

(I would expect everybody else to do the same, like either sign every
email explicitly where they're done responding, or if they don't want to
sign, at least cut away the irrelevant context after their last point
made, so readers don't have to scroll down uselessly to the end -- but
hey, what I can do.)

In this particular instance, I'm going to keep the trailing context
(like I tend to) because above I made a reference to the YAML file, so
preserving that makes sense. But, as almost always, I'm also going to
sign my response:

Thanks,
Laszlo


> 
> 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 a442d1b157..6f274582a8 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            = TRUE
>  #   DEFINE NETWORK_HTTP_BOOT_ENABLE       = TRUE
>  #   DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = FALSE
>  #   DEFINE NETWORK_ISCSI_ENABLE           = TRUE
>  #   DEFINE NETWORK_VLAN_ENABLE            = TRUE
>  #
>  # Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
> +# (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>
>  #
>  #    SPDX-License-Identifier: BSD-2-Clause-Patent
>  #
> @@ -73,6 +75,13 @@
>    DEFINE NETWORK_TLS_ENABLE = TRUE
>  !endif
>  
> +!ifndef NETWORK_HTTP_ENABLE
> +  #
> +  # This flag is to enable or disable HTTP(S) feature.
> +  #
> +  DEFINE NETWORK_HTTP_ENABLE = TRUE
> +!endif
> +
>  !ifndef NETWORK_HTTP_BOOT_ENABLE
>    #
>    # This flag is to enable or disable HTTP(S) boot feature.
> diff --git a/NetworkPkg/NetworkPkg.ci.yaml b/NetworkPkg/NetworkPkg.ci.yaml
> index 1a3ab71792..66b74cfe9a 100644
> --- a/NetworkPkg/NetworkPkg.ci.yaml
> +++ b/NetworkPkg/NetworkPkg.ci.yaml
> @@ -71,6 +71,7 @@
>          "BLD_*_NETWORK_IP4_ENABLE": "TRUE",
>          "BLD_*_NETWORK_IP6_ENABLE": "TRUE",
>          "BLD_*_NETWORK_TLS_ENABLE": "TRUE",
> +        "BLD_*_NETWORK_HTTP_ENABLE": "TRUE",
>          "BLD_*_NETWORK_HTTP_BOOT_ENABLE": "TRUE",
>          "BLD_*_NETWORK_ISCSI_ENABLE": "TRUE",
>      }
> 


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-11-14  0:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-12  6:10 [PATCH v2] NetworkPkg: Add NETWORK_HTTP_ENABLE macro Abner Chang
2020-11-14  0:36 ` [edk2-devel] " Laszlo Ersek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox