NetworkDefines.dsc.inc 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. ## @file
  2. # Network DSC include file for [Defines] section of all Architectures.
  3. #
  4. # This file can be included to the [Defines] section of a platform DSC file by
  5. # using "!include NetworkPkg/NetworkDefines.dsc.inc" to set default value of
  6. # flags if they are not defined somewhere else, and also check the value to see
  7. # if there is any conflict.
  8. #
  9. # These flags can be defined before the !include line, or changed on the command
  10. # line to enable or disable related feature support.
  11. # -D FLAG=VALUE
  12. # The default value of these flags are:
  13. # DEFINE NETWORK_ENABLE = TRUE
  14. # DEFINE NETWORK_SNP_ENABLE = TRUE
  15. # DEFINE NETWORK_IP4_ENABLE = TRUE
  16. # DEFINE NETWORK_IP6_ENABLE = TRUE
  17. # DEFINE NETWORK_TLS_ENABLE = TRUE
  18. # DEFINE NETWORK_HTTP_ENABLE = FALSE
  19. # DEFINE NETWORK_HTTP_BOOT_ENABLE = TRUE
  20. # DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = FALSE
  21. # DEFINE NETWORK_ISCSI_ENABLE = FALSE
  22. # DEFINE NETWORK_VLAN_ENABLE = TRUE
  23. #
  24. # Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
  25. # (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>
  26. #
  27. # SPDX-License-Identifier: BSD-2-Clause-Patent
  28. #
  29. ##
  30. !ifndef NETWORK_ENABLE
  31. #
  32. # This flag is to enable or disable the whole network stack.
  33. #
  34. DEFINE NETWORK_ENABLE = TRUE
  35. !endif
  36. !ifndef NETWORK_SNP_ENABLE
  37. #
  38. # This flag is to include the common SNP driver or not.
  39. #
  40. DEFINE NETWORK_SNP_ENABLE = TRUE
  41. !endif
  42. !ifndef NETWORK_VLAN_ENABLE
  43. #
  44. # This flag is to enable or disable VLAN feature.
  45. #
  46. DEFINE NETWORK_VLAN_ENABLE = TRUE
  47. !endif
  48. !ifndef NETWORK_IP4_ENABLE
  49. #
  50. # This flag is to enable or disable IPv4 network stack.
  51. #
  52. DEFINE NETWORK_IP4_ENABLE = TRUE
  53. !endif
  54. !ifndef NETWORK_IP6_ENABLE
  55. #
  56. # This flag is to enable or disable IPv6 network stack.
  57. #
  58. DEFINE NETWORK_IP6_ENABLE = TRUE
  59. !endif
  60. !ifndef NETWORK_TLS_ENABLE
  61. #
  62. # This flag is to enable or disable TLS feature.
  63. #
  64. # Note: This feature depends on the OpenSSL building. To enable this feature, please
  65. # follow the instructions found in the file "OpenSSL-HOWTO.txt" located in
  66. # CryptoPkg\Library\OpensslLib to enable the OpenSSL building first.
  67. # The OpensslLib.inf library instance should be used since libssl is required.
  68. #
  69. DEFINE NETWORK_TLS_ENABLE = TRUE
  70. !endif
  71. !ifndef NETWORK_HTTP_ENABLE
  72. #
  73. # This flag is to enable or disable HTTP(S) feature.
  74. # The default is set to FALSE to not affecting the existing
  75. # platforms.
  76. # NETWORK_HTTP_ENABLE set to FALSE is not affecting NETWORK_HTTP_BOOT_ENABLE
  77. # when NETWORK_HTTP_BOOT_ENABLE is TRUE.
  78. DEFINE NETWORK_HTTP_ENABLE = FALSE
  79. !endif
  80. !ifndef NETWORK_HTTP_BOOT_ENABLE
  81. #
  82. # This flag is to enable or disable HTTP(S) boot feature.
  83. #
  84. #
  85. DEFINE NETWORK_HTTP_BOOT_ENABLE = TRUE
  86. !endif
  87. !ifndef NETWORK_ALLOW_HTTP_CONNECTIONS
  88. #
  89. # Indicates whether HTTP connections (i.e., unsecured) are permitted or not.
  90. #
  91. # Note: If NETWORK_ALLOW_HTTP_CONNECTIONS is TRUE, HTTP connections are allowed.
  92. # Both the "https://" and "http://" URI schemes are permitted. Otherwise, HTTP
  93. # connections are denied. Only the "https://" URI scheme is permitted.
  94. #
  95. DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = FALSE
  96. !endif
  97. !ifndef NETWORK_ISCSI_ENABLE
  98. #
  99. # This flag is to enable or disable iSCSI feature.
  100. #
  101. # Note: This feature depends on the OpenSSL building. To enable this feature, please
  102. # follow the instructions found in the file "OpenSSL-HOWTO.txt" located in
  103. # CryptoPkg\Library\OpensslLib to enable the OpenSSL building first.
  104. # Both OpensslLib.inf and OpensslLibCrypto.inf library instance can be used
  105. # since libssl is not required for iSCSI.
  106. #
  107. DEFINE NETWORK_ISCSI_ENABLE = FALSE
  108. !endif
  109. !if $(NETWORK_ENABLE) == TRUE
  110. #
  111. # Check the flags to see if there is any conflict.
  112. #
  113. !if ($(NETWORK_IP4_ENABLE) == FALSE) AND ($(NETWORK_IP6_ENABLE) == FALSE)
  114. !error "Must enable at least IP4 or IP6 stack if NETWORK_ENABLE is set to TRUE!"
  115. !endif
  116. !if ($(NETWORK_HTTP_BOOT_ENABLE) == TRUE) OR ($(NETWORK_HTTP_ENABLE) == TRUE)
  117. !if ($(NETWORK_TLS_ENABLE) == FALSE) AND ($(NETWORK_ALLOW_HTTP_CONNECTIONS) == FALSE)
  118. !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!"
  119. !endif
  120. !endif
  121. !endif