From 455587e59e0b11055a4d4ff230df837dc70bcbb5 Mon Sep 17 00:00:00 2001 From: Matt Spinler Date: Wed, 15 Jan 2020 14:31:52 -0600 Subject: PEL: Print host trans state in peltool In the UserHeader section, add an entry into peltool's JSON output for the host transmission state. Signed-off-by: Matt Spinler Change-Id: Ie906a447859e30175652d291ef2f929e8a7077f6 --- extensions/openpower-pels/pel_values.cpp | 9 +++++++++ extensions/openpower-pels/pel_values.hpp | 7 +++++++ extensions/openpower-pels/user_header.cpp | 10 ++++++++++ 3 files changed, 26 insertions(+) (limited to 'extensions') diff --git a/extensions/openpower-pels/pel_values.cpp b/extensions/openpower-pels/pel_values.cpp index f8c877c..cb00150 100644 --- a/extensions/openpower-pels/pel_values.cpp +++ b/extensions/openpower-pels/pel_values.cpp @@ -265,6 +265,15 @@ const std::map creatorIDs = { {"S", "SLIC"}, {"B", "Hostboot"}, {"T", "OCC"}, {"M", "I/O Drawer"}, {"K", "Sapphire"}, {"P", "PowerNV"}}; +/** + * @brief Map for transmission states + */ +const std::map transmissionStates = { + {TransmissionState::newPEL, "Not Sent"}, + {TransmissionState::badPEL, "Rejected"}, + {TransmissionState::sent, "Sent"}, + {TransmissionState::acked, "Acked"}}; + std::string getValue(const uint8_t field, const pel_values::PELValues& values) { diff --git a/extensions/openpower-pels/pel_values.hpp b/extensions/openpower-pels/pel_values.hpp index 9a1ed88..a52c8b3 100644 --- a/extensions/openpower-pels/pel_values.hpp +++ b/extensions/openpower-pels/pel_values.hpp @@ -1,5 +1,7 @@ #pragma once +#include "pel_types.hpp" + #include #include #include @@ -105,6 +107,11 @@ extern const std::map sectionTitles; */ extern const std::map creatorIDs; +/** + * @brief Map for transmission states + */ +extern const std::map transmissionStates; + } // namespace pel_values } // namespace pels } // namespace openpower diff --git a/extensions/openpower-pels/user_header.cpp b/extensions/openpower-pels/user_header.cpp index b70da94..e29ffdf 100644 --- a/extensions/openpower-pels/user_header.cpp +++ b/extensions/openpower-pels/user_header.cpp @@ -143,6 +143,15 @@ std::optional UserHeader::getJSON() const eventType = pv::getValue(_eventType, pel_values::eventTypeValues); actionFlags = pv::getValuesBitwise(_actionFlags, pel_values::actionFlagsValues); + + std::string hostState{"Invalid"}; + auto iter = pv::transmissionStates.find( + static_cast(hostTransmissionState())); + if (iter != pv::transmissionStates.end()) + { + hostState = iter->second; + } + char tmpUhVal[8]; sprintf(tmpUhVal, "%d", userHeaderVersion); std::string uhVerStr(tmpUhVal); @@ -160,6 +169,7 @@ std::optional UserHeader::getJSON() const jsonInsert(uh, "Event Severity", severity, 1); jsonInsert(uh, "Event Type", eventType, 1); jsonInsertArray(uh, "Action Flags", actionFlags, 1); + jsonInsert(uh, "Host Transmission", hostState, 1); uh.erase(uh.size() - 2); return uh; } -- cgit v1.2.1