This extension will create PELs for every OpenBMC event log. It is also possible to point to the raw PEL to use in the OpenBMC event, and then that will be used instead of creating one.
An error log creator can pass in data that is relevant to a PEL by using certain keywords in the AdditionalData property of the event log.
This keyword is used to point to an existing PEL in a binary file that should be associated with this event log. The syntax is:
RAWPEL=<path to PEL File> e.g. RAWPEL="/tmp/pels/pel.5"
The code will assign its own error log ID to this PEL, and also update the commit timestamp field to the current time.
This keyword's data contains a full PEL in string format. This is how hostboot sends down PELs when it is configured in IPMI communication mode. The PEL is handled just like the PEL obtained using the RAWPEL keyword.
The syntax is:
ESEL= "00 00 df 00 00 00 00 20 00 04 12 01 6f aa 00 00 50 48 00 30 01 00 33 00 00..."
Note that there are 16 bytes of IPMI SEL data before the PEL data starts.
This keyword that contains the application's PID is added automatically by the phosphor-logging daemon when the commit
or report
APIs are used to create an event log, but not when the Create
D-Bus method is used. If a caller of the Create
API wishes to have their PID captured in the PEL this should be used.
This will be added to the PEL in a section of type User Data (UD), along with the application name it corresponds to.
The syntax is:
_PID=<PID of application> e.g. _PID="12345"
The extension code that creates PELs will add these UserData sections to every PEL:
The PEL message registry is used to create PELs from OpenBMC event logs. Documentation can be found here.
Action Flags
and Event Type
RulesThe Action Flags
and Event Type
PEL fields are optional in the message registry, and if not present the code will set them based on certain rules layed out in the PEL spec. In fact, even if they were specified, the checks are still done to ensure consistency across all the logs.
These rules are:
Report
flag, unless the Do Not Report
flag is already on.SP Call Home
flag, as that feature isn't supported.Non-error Event
:Service Action
flag.Call Home
flag.Event Type
field is Not Applicable
, change it to Information Only
.Event Type
field is Information Only
or Tracing
, set the Hidden
flag.Recovered
:Hidden
flag.Service Action
flag.Call Home
flag.Hidden
flag.Service Action
flag.Call Home
flag.Additional rules may be added in the future if necessary.