summaryrefslogtreecommitdiffstats
path: root/RedfishPkg/RedfishRestExDxe
diff options
context:
space:
mode:
authorNickle Wang <nicklew@nvidia.com>2023-03-01 16:44:57 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2023-03-06 03:20:58 +0000
commit5a0932b7d480c05761a3ba9b5cf1d2fbb470c615 (patch)
tree0bca3c852d1c60b555cf4978517a1a1d8c484054 /RedfishPkg/RedfishRestExDxe
parentfc14c809cb982f3c8cb3429604262cde0cb264a9 (diff)
downloadedk2-5a0932b7d480c05761a3ba9b5cf1d2fbb470c615.tar.gz
edk2-5a0932b7d480c05761a3ba9b5cf1d2fbb470c615.tar.bz2
edk2-5a0932b7d480c05761a3ba9b5cf1d2fbb470c615.zip
RedfishPkg/RedfishDebugLib: provide Redfish debug
Introduce RedfishDebugLib to RedfishPkg. This library provides several debugging functions for Redfish application. Redfish drivers rely on Rest Ex protocol to communicate with BMC and the communication data may be big and complicated. Use RedfishDebugLib in RedfishRestExDxe to simplify debugging process. Signed-off-by: Nickle Wang <nicklew@nvidia.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Igor Kulchytskyy <igork@ami.com> Cc: Nick Ramirez <nramirez@nvidia.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
Diffstat (limited to 'RedfishPkg/RedfishRestExDxe')
-rw-r--r--RedfishPkg/RedfishRestExDxe/RedfishRestExDxe.inf2
-rw-r--r--RedfishPkg/RedfishRestExDxe/RedfishRestExInternal.h2
-rw-r--r--RedfishPkg/RedfishRestExDxe/RedfishRestExProtocol.c32
3 files changed, 21 insertions, 15 deletions
diff --git a/RedfishPkg/RedfishRestExDxe/RedfishRestExDxe.inf b/RedfishPkg/RedfishRestExDxe/RedfishRestExDxe.inf
index 2f7a2188e8..64e6343bfb 100644
--- a/RedfishPkg/RedfishRestExDxe/RedfishRestExDxe.inf
+++ b/RedfishPkg/RedfishRestExDxe/RedfishRestExDxe.inf
@@ -4,6 +4,7 @@
# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
# (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>
# Copyright (c) 2023, American Megatrends International LLC.
+# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
@@ -44,6 +45,7 @@
PrintLib
MemoryAllocationLib
NetLib
+ RedfishDebugLib
UefiLib
UefiBootServicesTableLib
UefiDriverEntryPoint
diff --git a/RedfishPkg/RedfishRestExDxe/RedfishRestExInternal.h b/RedfishPkg/RedfishRestExDxe/RedfishRestExInternal.h
index a687c4ddb1..bca679e2cc 100644
--- a/RedfishPkg/RedfishRestExDxe/RedfishRestExInternal.h
+++ b/RedfishPkg/RedfishRestExDxe/RedfishRestExInternal.h
@@ -3,6 +3,7 @@
Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
(C) Copyright 2019-2020 Hewlett Packard Enterprise Development LP<BR>
+ Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -21,6 +22,7 @@
#include <Library/HttpIoLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/NetLib.h>
+#include <Library/RedfishDebugLib.h>
#include <Library/UefiLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiDriverEntryPoint.h>
diff --git a/RedfishPkg/RedfishRestExDxe/RedfishRestExProtocol.c b/RedfishPkg/RedfishRestExDxe/RedfishRestExProtocol.c
index 1c3deab09a..3722e1f795 100644
--- a/RedfishPkg/RedfishRestExDxe/RedfishRestExProtocol.c
+++ b/RedfishPkg/RedfishRestExDxe/RedfishRestExProtocol.c
@@ -4,6 +4,7 @@
Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
(C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>
Copyright (c) 2023, American Megatrends International LLC.
+ Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -90,12 +91,12 @@ RedfishRestExSendReceive (
MediaPresent = TRUE;
NetLibDetectMedia (Instance->Service->ControllerHandle, &MediaPresent);
if (!MediaPresent) {
- DEBUG ((DEBUG_INFO, "RedfishRestExSendReceive(): No MediaPresent.\n"));
+ DEBUG ((DEBUG_REDFISH_NETWORK, "RedfishRestExSendReceive(): No MediaPresent.\n"));
return EFI_NO_MEDIA;
}
- DEBUG ((DEBUG_INFO, "\nRedfishRestExSendReceive():\n"));
- DEBUG ((DEBUG_INFO, "*** Perform HTTP Request Method - %d, URL: %s\n", RequestMessage->Data.Request->Method, RequestMessage->Data.Request->Url));
+ DEBUG ((DEBUG_REDFISH_NETWORK, "\nRedfishRestExSendReceive():\n"));
+ DEBUG ((DEBUG_REDFISH_NETWORK, "*** Perform HTTP Request Method - %d, URL: %s\n", RequestMessage->Data.Request->Method, RequestMessage->Data.Request->Url));
if (FixedPcdGetBool (PcdRedfishRestExChunkRequestMode)) {
//
@@ -215,7 +216,7 @@ ReSendRequest:;
goto ON_EXIT;
}
- DEBUG ((DEBUG_INFO, "Receiving HTTP response and headers...\n"));
+ DEBUG ((DEBUG_REDFISH_NETWORK, "Receiving HTTP response and headers...\n"));
Status = RedfishCheckHttpReceiveStatus (
Instance,
HttpIoRecvResponse (
@@ -239,12 +240,12 @@ ReSendRequest:;
RequestMessage->HeaderCount--; // Minus one header count for "Expect".
}
- DEBUG ((DEBUG_INFO, "HTTP Response StatusCode - %d:", ResponseData->Response.StatusCode));
+ DEBUG ((DEBUG_REDFISH_NETWORK, "HTTP Response StatusCode - %d:", ResponseData->Response.StatusCode));
if (ResponseData->Response.StatusCode == HTTP_STATUS_200_OK) {
- DEBUG ((DEBUG_INFO, "HTTP_STATUS_200_OK\n"));
+ DEBUG ((DEBUG_REDFISH_NETWORK, "HTTP_STATUS_200_OK\n"));
if (FixedPcdGetBool (PcdRedfishRestExChunkRequestMode) && (SendChunkProcess == HttpIoSendChunkHeaderZeroContent)) {
- DEBUG ((DEBUG_INFO, "This is chunk transfer, start to send all chunks - %d.", ResponseData->Response.StatusCode));
+ DEBUG ((DEBUG_REDFISH_NETWORK, "This is chunk transfer, start to send all chunks - %d.", ResponseData->Response.StatusCode));
SendChunkProcess++;
goto ReSendRequest;
}
@@ -261,7 +262,7 @@ ReSendRequest:;
} else if (ResponseData->Response.StatusCode == HTTP_STATUS_202_ACCEPTED) {
DEBUG ((DEBUG_INFO, "HTTP_STATUS_202_ACCEPTED\n"));
} else if (ResponseData->Response.StatusCode == HTTP_STATUS_413_REQUEST_ENTITY_TOO_LARGE) {
- DEBUG ((DEBUG_INFO, "HTTP_STATUS_413_REQUEST_ENTITY_TOO_LARGE\n"));
+ DEBUG ((DEBUG_REDFISH_NETWORK, "HTTP_STATUS_413_REQUEST_ENTITY_TOO_LARGE\n"));
Status = EFI_BAD_BUFFER_SIZE;
goto ON_EXIT;
@@ -271,25 +272,25 @@ ReSendRequest:;
Status = EFI_ACCESS_DENIED;
goto ON_EXIT;
} else if (ResponseData->Response.StatusCode == HTTP_STATUS_400_BAD_REQUEST) {
- DEBUG ((DEBUG_INFO, "HTTP_STATUS_400_BAD_REQUEST\n"));
+ DEBUG ((DEBUG_REDFISH_NETWORK, "HTTP_STATUS_400_BAD_REQUEST\n"));
if (FixedPcdGetBool (PcdRedfishRestExChunkRequestMode) && (SendChunkProcess == HttpIoSendChunkHeaderZeroContent)) {
- DEBUG ((DEBUG_INFO, "Bad request may caused by zero length chunk. Try to send all chunks...\n"));
+ DEBUG ((DEBUG_REDFISH_NETWORK, "Bad request may caused by zero length chunk. Try to send all chunks...\n"));
SendChunkProcess++;
goto ReSendRequest;
}
} else if (ResponseData->Response.StatusCode == HTTP_STATUS_100_CONTINUE) {
- DEBUG ((DEBUG_INFO, "HTTP_STATUS_100_CONTINUE\n"));
+ DEBUG ((DEBUG_REDFISH_NETWORK, "HTTP_STATUS_100_CONTINUE\n"));
if (FixedPcdGetBool (PcdRedfishRestExChunkRequestMode) && (SendChunkProcess == HttpIoSendChunkHeaderZeroContent)) {
//
// We get HTTP_STATUS_100_CONTINUE to send the body using chunk transfer.
//
- DEBUG ((DEBUG_INFO, "HTTP_STATUS_100_CONTINUE for chunk transfer...\n"));
+ DEBUG ((DEBUG_REDFISH_NETWORK, "HTTP_STATUS_100_CONTINUE for chunk transfer...\n"));
SendChunkProcess++;
goto ReSendRequest;
}
if (FixedPcdGetBool (PcdRedfishRestExChunkRequestMode) && (SendNonChunkProcess == HttpIoSendNonChunkHeaderZeroContent)) {
- DEBUG ((DEBUG_INFO, "HTTP_STATUS_100_CONTINUE for non chunk transfer...\n"));
+ DEBUG ((DEBUG_REDFISH_NETWORK, "HTTP_STATUS_100_CONTINUE for non chunk transfer...\n"));
SendNonChunkProcess++;
goto ReSendRequest;
}
@@ -313,6 +314,7 @@ ReSendRequest:;
}
} else {
DEBUG ((DEBUG_ERROR, "This HTTP Status is not handled!\n"));
+ DumpHttpStatusCode (DEBUG_REDFISH_NETWORK, ResponseData->Response.StatusCode);
Status = EFI_UNSUPPORTED;
goto ON_EXIT;
}
@@ -426,10 +428,10 @@ ReSendRequest:;
TotalReceivedSize += ResponseData->BodyLength;
}
- DEBUG ((DEBUG_INFO, "Total of length of Response :%d\n", TotalReceivedSize));
+ DEBUG ((DEBUG_REDFISH_NETWORK, "Total of length of Response :%d\n", TotalReceivedSize));
}
- DEBUG ((DEBUG_INFO, "RedfishRestExSendReceive()- EFI_STATUS: %r\n", Status));
+ DEBUG ((DEBUG_REDFISH_NETWORK, "RedfishRestExSendReceive()- EFI_STATUS: %r\n", Status));
ON_EXIT: