2020-10-08 02:53:07 +02:00
|
|
|
## @file
|
|
|
|
# Redfish Package
|
|
|
|
#
|
|
|
|
# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
|
2021-01-18 03:58:25 +01:00
|
|
|
# (C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
|
2023-02-09 19:05:12 +01:00
|
|
|
# Copyright (c) 2023, American Megatrends International LLC.
|
2024-02-01 05:52:53 +01:00
|
|
|
# Copyright (c) 2023-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
2024-03-18 03:32:44 +01:00
|
|
|
# Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved.<BR>
|
2020-10-08 02:53:07 +02:00
|
|
|
#
|
|
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
##
|
|
|
|
|
|
|
|
[Defines]
|
|
|
|
DEC_SPECIFICATION = 0x0001001b
|
|
|
|
PACKAGE_NAME = RedfishPkg
|
|
|
|
PACKAGE_GUID = c432b76e-5232-11e7-9010-005056c00008
|
|
|
|
PACKAGE_VERSION = 1.0
|
|
|
|
|
2020-10-12 08:00:24 +02:00
|
|
|
[Includes]
|
|
|
|
Include
|
|
|
|
|
2020-12-04 05:30:05 +01:00
|
|
|
[Includes.Common.Private]
|
|
|
|
PrivateInclude/Crt # Private header files for C RTL.
|
2020-12-04 16:59:59 +01:00
|
|
|
Library/JsonLib # Private header files for jansson
|
|
|
|
# configuration files.
|
|
|
|
# - jansson_config.h
|
|
|
|
# - jansson_private_config.h
|
|
|
|
# jansson.h refers to above two configuration
|
|
|
|
# files for building platform jansson library.
|
|
|
|
Library/JsonLib/jansson/src # For referring to jannson.h
|
2020-12-04 05:30:05 +01:00
|
|
|
|
2020-10-13 03:29:21 +02:00
|
|
|
[LibraryClasses]
|
|
|
|
## @libraryclass Platform Redfish Host Interface Library
|
|
|
|
# Platform implementation-specific Redfish Host Interface.
|
|
|
|
RedfishPlatformHostInterfaceLib|Include/Library/RedfishHostInterfaceLib.h
|
2020-12-04 05:30:05 +01:00
|
|
|
|
2020-12-08 02:56:56 +01:00
|
|
|
## @libraryclass This library provides UCS2 to UTF8 manipulation
|
|
|
|
# functions.
|
|
|
|
#
|
|
|
|
Ucs2Utf8Lib|Include/Library/BaseUcs2Utf8Lib.h
|
2020-10-13 03:29:21 +02:00
|
|
|
|
2020-12-09 05:20:27 +01:00
|
|
|
## @libraryclass Platform Redfish Credential Library
|
|
|
|
# Platform implementation-specific Redfish Credential Interface.
|
|
|
|
RedfishPlatformCredentialLib|Include/Library/RedfishCredentialLib.h
|
|
|
|
|
2020-12-17 15:38:54 +01:00
|
|
|
## @libraryclass The helper routines to access REST EX service.
|
|
|
|
# This library is only intended to be used by UEFI network stack modules.
|
|
|
|
RestExLib|Include/Library/RestExLib.h
|
|
|
|
|
2020-12-04 16:59:59 +01:00
|
|
|
## @libraryclass Provides the library functions based on third party
|
|
|
|
# jansson library to manipulate JSON data structure.
|
|
|
|
#
|
|
|
|
JsonLib|Include/Library/JsonLib.h
|
|
|
|
|
2021-01-18 03:58:25 +01:00
|
|
|
## @libraryclass Provides the library functions to encode/decode
|
|
|
|
# Redfish packet.
|
|
|
|
#
|
|
|
|
RedfishContentCodingLib|Include/Library/RedfishContentCodingLib.h
|
|
|
|
|
2023-03-01 09:44:57 +01:00
|
|
|
## @libraryclass Redfish Debug Library
|
|
|
|
# Library provides Redfish debug functions.
|
|
|
|
RedfishDebugLib|Include/Library/RedfishDebugLib.h
|
|
|
|
|
2023-04-10 15:12:03 +02:00
|
|
|
## @libraryclass Provides the library functions to parse IFR binary data.
|
|
|
|
#
|
|
|
|
HiiUtilityLib|Include/Library/HiiUtilityLib.h
|
|
|
|
|
2023-04-10 15:18:42 +02:00
|
|
|
## @libraryclass Provides the library functions to access Redfish Platform
|
|
|
|
# Config protocol.
|
|
|
|
#
|
|
|
|
RedfishPlatformConfigLib|Include/Library/RedfishPlatformConfigLib.h
|
|
|
|
|
2024-01-02 10:22:22 +01:00
|
|
|
## @libraryclass Provides the library functions to access Redfish HTTP
|
|
|
|
# protocol.
|
|
|
|
#
|
|
|
|
RedfishHttpLib|Include/Library/RedfishHttpLib.h
|
|
|
|
|
2020-12-04 05:30:05 +01:00
|
|
|
[LibraryClasses.Common.Private]
|
|
|
|
## @libraryclass Provides the private C runtime library functions.
|
|
|
|
# CRT library is currently used by edk2 JsonLib (open source
|
|
|
|
# jansson project) and edk2 RedfishLib (libredfish open source
|
|
|
|
# project).
|
2021-08-10 18:07:23 +02:00
|
|
|
RedfishCrtLib|Include/Library/RedfishCrtLib.h
|
2020-12-04 05:30:05 +01:00
|
|
|
|
2021-03-03 10:52:30 +01:00
|
|
|
## @libraryclass Redfish Helper Library
|
|
|
|
# Library provides Redfish helper functions.
|
2022-08-17 05:28:25 +02:00
|
|
|
RedfishLib|Include/Library/RedfishLib.h
|
2021-03-03 10:52:30 +01:00
|
|
|
|
2020-10-13 06:27:30 +02:00
|
|
|
[Protocols]
|
2020-12-08 08:03:49 +01:00
|
|
|
## Include/Protocol/EdkIIRedfishCredential.h
|
|
|
|
gEdkIIRedfishCredentialProtocolGuid = { 0x8804377, 0xaf7a, 0x4496, { 0x8a, 0x7b, 0x17, 0x59, 0x0, 0xe9, 0xab, 0x46 } }
|
|
|
|
|
2021-01-14 06:29:39 +01:00
|
|
|
## Include/Protocol/Edk2RedfishConfigHandler.h
|
|
|
|
gEdkIIRedfishConfigHandlerProtocolGuid = { 0xbc0fe6bb, 0x2cc9, 0x463e, { 0x90, 0x82, 0xfa, 0x11, 0x76, 0xfc, 0x67, 0xde } }
|
|
|
|
|
2023-04-10 15:09:14 +02:00
|
|
|
## Include/Protocol/EdkIIRedfishPlatformConfig.h
|
|
|
|
gEdkIIRedfishPlatformConfigProtocolGuid = { 0X4D94A7C7, 0X4CE4, 0X4A84, { 0X88, 0XC1, 0X33, 0X0C, 0XD4, 0XA3, 0X47, 0X67 } }
|
|
|
|
|
2023-11-23 10:20:28 +01:00
|
|
|
# Redfish Host Interface ready notification protocol
|
|
|
|
gEdkIIRedfishHostInterfaceReadyProtocolGuid = { 0xC3F6D062, 0x3D38, 0x4EA4, { 0x92, 0xB1, 0xE8, 0xF8, 0x02, 0x27, 0x63, 0xDF } }
|
|
|
|
|
2024-02-01 05:52:53 +01:00
|
|
|
## Include/Protocol/EdkIIRedfishHttpProtocol.h
|
|
|
|
gEdkIIRedfishHttpProtocolGuid = { 0x58a0f47e, 0xf45f, 0x4d44, { 0x89, 0x5b, 0x2a, 0xfe, 0xb0, 0x80, 0x15, 0xe2 } }
|
|
|
|
|
2020-10-08 02:53:07 +02:00
|
|
|
[Guids]
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid = { 0x4fdbccb7, 0xe829, 0x4b4c, { 0x88, 0x87, 0xb2, 0x3f, 0xd7, 0x25, 0x4b, 0x85 }}
|
|
|
|
|
2023-03-08 03:53:56 +01:00
|
|
|
# Redfish variable guid
|
|
|
|
gEfiRedfishVariableGuid = { 0x85ef8dd3, 0xe606, 0x4b89, { 0x8b, 0xbd, 0x93, 0xbf, 0x5c, 0xbe, 0x1c, 0x18 } }
|
|
|
|
|
2020-11-04 09:17:14 +01:00
|
|
|
[PcdsFixedAtBuild, PcdsPatchableInModule]
|
|
|
|
#
|
|
|
|
# This PCD is the UEFI device path which is used as the Redfish host interface.
|
|
|
|
#
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishRestExServiceDevicePath|{0x0}|REST_EX_SERVICE_DEVICE_PATH_DATA|0x00001000 {
|
|
|
|
<HeaderFiles>
|
|
|
|
Pcd/RestExServiceDevicePath.h
|
|
|
|
<Packages>
|
|
|
|
MdePkg/MdePkg.dec
|
|
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
|
|
RedfishPkg/RedfishPkg.dec
|
|
|
|
}
|
|
|
|
#
|
|
|
|
# This PCD indicates the EFI REST EX access mode to Redfish service.
|
|
|
|
# Default is set to out of band access.
|
|
|
|
#
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishRestExServiceAccessModeInBand|FALSE|BOOLEAN|0x00001001
|
|
|
|
#
|
|
|
|
# This PCD indicates the access mode EFI Discover protocol uses to look for the proper EFI REST EX
|
|
|
|
# protocol instance.
|
|
|
|
#
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishDiscoverAccessModeInBand|FALSE|BOOLEAN|0x00001002
|
2023-02-09 19:05:12 +01:00
|
|
|
#
|
|
|
|
# This PCD indicates if the EFI REST EX sends chunk request to Redfish service.
|
|
|
|
# Default is set to non chunk mode.
|
|
|
|
#
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishRestExChunkRequestMode|FALSE|BOOLEAN|0x00001003
|
|
|
|
#
|
|
|
|
# This PCD indicates if the EFI REST EX adds Expect header to the POST, PATCH, PUT requests to Redfish service.
|
|
|
|
# Default is set to not add.
|
|
|
|
#
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishRestExAddingExpect|FALSE|BOOLEAN|0x00001004
|
2023-03-07 05:08:59 +01:00
|
|
|
#
|
|
|
|
# Use PCD to declare the Redfish host nmae becasue there is no
|
|
|
|
# specification for that.
|
|
|
|
#
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishHostName|"Redfish service"|VOID*|0x00001005
|
|
|
|
#
|
|
|
|
# Use PCD to declare the Redfish service UUID becasue there is no
|
|
|
|
# specification for that.
|
|
|
|
#
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishServiceUuid|L"00000000-0000-0000-0000-000000000000"|VOID*|0x00001006
|
2023-11-28 14:14:19 +01:00
|
|
|
# Use PCD to declare the Redfish service port, default set to port 443.
|
|
|
|
# Platform can overide this value in platform DSC file.
|
|
|
|
#
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishServicePort|443|UINT16|0x00001007
|
2023-03-08 03:53:56 +01:00
|
|
|
#
|
|
|
|
# This PCD indicates that if BMC bootstrap credential service will be disabled by BIOS or not.
|
|
|
|
#
|
2023-11-28 14:14:19 +01:00
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishDisableBootstrapCredentialService|FALSE|BOOLEAN|0x00001008
|
2023-10-18 13:59:20 +02:00
|
|
|
#
|
|
|
|
# The EFI_REST_EX_HTTP_CONFIG_DATA.SendReceiveTimeout value that RedfishDiscoverDxe driver
|
|
|
|
# set to EFI_REST_EX_PROTOCOL.
|
|
|
|
#
|
2023-11-28 14:14:19 +01:00
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishSendReceiveTimeout|5000|UINT32|0x00001009
|
2024-02-01 05:53:31 +01:00
|
|
|
#
|
|
|
|
# This PCD string is introduced for platform developer to set the encoding method supported by BMC Redfish.
|
|
|
|
# Currently only "None" and "gzip" are supported.
|
|
|
|
#
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishServiceContentEncoding|"None"|VOID*|0x0000100A
|
2024-02-01 05:52:53 +01:00
|
|
|
#
|
|
|
|
# Use below PCDs to control Redfhs HTTP protocol.
|
|
|
|
#
|
|
|
|
## The number of retry when HTTP GET request failed. If the value is 0, there is no retry enabled.
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdHttpGetRetry|0|UINT16|0x0000100B
|
|
|
|
## The number of retry when HTTP PUT request failed. If the value is 0, there is no retry enabled.
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdHttpPutRetry|0|UINT16|0x0000100C
|
|
|
|
## The number of retry when HTTP PATCH request failed. If the value is 0, there is no retry enabled.
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdHttpPatchRetry|0|UINT16|0x0000100D
|
|
|
|
## The number of retry when HTTP POST request failed. If the value is 0, there is no retry enabled.
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdHttpPostRetry|0|UINT16|0x0000100E
|
|
|
|
## The number of retry when HTTP DELETE request failed. If the value is 0, there is no retry enabled.
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdHttpDeleteRetry|0|UINT16|0x0000100F
|
|
|
|
## The number of second to wait before driver retry HTTP request. If the value is 0, there is no wait before next retry.
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdHttpRetryWaitInSecond|1|UINT16|0x00001010
|
|
|
|
## This is used to disable Redfish HTTP cache function and every request will be sent to Redfish service.
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdHttpCacheDisabled|FALSE|BOOLEAN|0x00001011
|
2024-03-18 03:32:44 +01:00
|
|
|
#
|
|
|
|
# Redfish debug catagories
|
|
|
|
# To enable the debug message for the entire edk2 Redfish implementation, below PCDs must be set.
|
|
|
|
# DEBUG_MANAGEABILITY must be set PcdDebugPrintErrorLevel.
|
|
|
|
#
|
|
|
|
# 0x0000000000000001 RedfishPlatformConfigDxe driver debug enabled.
|
|
|
|
#
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishDebugCategory|0|UINT64|0x00001012
|
2024-03-18 04:18:32 +01:00
|
|
|
#
|
|
|
|
# Redfish RedfishPlatformConfigDxe Debug Properties
|
2024-05-03 03:12:21 +02:00
|
|
|
# 0x00000001 x-UEFI-redfish string database message enabled
|
2024-03-18 04:18:32 +01:00
|
|
|
# 0x00000002 Debug Message for dumping formset
|
2024-05-03 03:12:21 +02:00
|
|
|
# 0x00000004 Debug Message for x-UEFI-redfish searching result
|
|
|
|
# 0x00000008 Debug Message for x-UEFI-redfish Regular Expression searching result
|
2024-03-18 04:18:32 +01:00
|
|
|
#
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishPlatformConfigDebugProperty|0|UINT32|0x00001013
|
|
|
|
#
|
|
|
|
# RedfishPlatformConfigDxe feature enablement
|
|
|
|
# 0x00000001 Enable building Redfish Attribute Registry menu path.
|
|
|
|
# 0x00000002 Allow supressed HII option to be exposed on Redfish.
|
|
|
|
#
|
|
|
|
# Redfish RedfishPlatformConfigDxe feature Properties
|
|
|
|
gEfiRedfishPkgTokenSpaceGuid.PcdRedfishPlatformConfigFeatureProperty|0|UINT32|0x00001014
|