diff options
author | Matt Spinler <spinler@us.ibm.com> | 2020-01-15 14:31:52 -0600 |
---|---|---|
committer | Matt Spinler <spinler@us.ibm.com> | 2020-01-21 20:28:54 +0000 |
commit | 455587e59e0b11055a4d4ff230df837dc70bcbb5 (patch) | |
tree | c3dc064d680fc78b94a57e8595a428412b6d1da6 /extensions/openpower-pels | |
parent | cce1411a6405f663654b34fcccf40810871013b1 (diff) | |
download | phosphor-logging-455587e59e0b11055a4d4ff230df837dc70bcbb5.tar.gz phosphor-logging-455587e59e0b11055a4d4ff230df837dc70bcbb5.zip |
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 <spinler@us.ibm.com>
Change-Id: Ie906a447859e30175652d291ef2f929e8a7077f6
Diffstat (limited to 'extensions/openpower-pels')
-rw-r--r-- | extensions/openpower-pels/pel_values.cpp | 9 | ||||
-rw-r--r-- | extensions/openpower-pels/pel_values.hpp | 7 | ||||
-rw-r--r-- | extensions/openpower-pels/user_header.cpp | 10 |
3 files changed, 26 insertions, 0 deletions
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<std::string, std::string> creatorIDs = { {"S", "SLIC"}, {"B", "Hostboot"}, {"T", "OCC"}, {"M", "I/O Drawer"}, {"K", "Sapphire"}, {"P", "PowerNV"}}; +/** + * @brief Map for transmission states + */ +const std::map<TransmissionState, std::string> 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 <map> #include <string> #include <tuple> @@ -105,6 +107,11 @@ extern const std::map<std::string, std::string> sectionTitles; */ extern const std::map<std::string, std::string> creatorIDs; +/** + * @brief Map for transmission states + */ +extern const std::map<TransmissionState, std::string> 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<std::string> 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<TransmissionState>(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<std::string> 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; } |