Runtime Configuration

The compiled configuration path is normally /etc/sysconfig/rasdaemon for system packages. Use --config FNAME to select another file. Entries use NAME=value syntax. Values already exported in the process environment are not overwritten by the file.

Runtime reload is not supported; restart rasdaemon after changing the file. The installed file is the authoritative template for the features included by a package.

Disabling events

DISABLE is a comma- or whitespace-separated list of exact trace-event names in group:event form. For example:

DISABLE="ras:mc_event ras:aer_event"

Database selection and connection settings are described in Database Backends.

IPMI BMC reporting

RAS Daemon can report PCIe AER events to a BMC through IPMI.

IPMI is the management protocol used to access a BMC’s System Event Log (SEL).

OpenBMC is BMC firmware that can implement IPMI, Redfish, and other interfaces. It does not define one universal OEM SEL format.

The bmc-generic, ampere-oem-sel, and openbmc-unified-sel Meson features build the generic IPMI, Ampere OEM, and Facebook/Meta Unified SEL consumers, respectively.

SEL consumers require a local IPMI device (/dev/ipmi0, /dev/ipmi/0, or /dev/ipmidev/0) and a successful ipmitool sel command with a Version field. They remain disabled unless individually selected.

BMC_GENERIC_ENABLE=yes enables the generic BMC consumer. It writes standard IPMI system-event SEL records using the Critical Interrupt sensor: corrected, non-fatal, and fatal AER events map to Bus Correctable, Bus Uncorrectable, and Bus Fatal events. The PCI bus and device/function occupy the event’s OEM data bytes. The current payload uses Critical Interrupt sensor number 00h. Before enabling it, verify that exact sensor exists with:

ipmitool sdr elist full | grep -i 'Critical Interrupt'

Enable it only when the target BMC has that sensor and accepts locally added SEL entries. Platform firmware can handle AER first and log its own SEL entry; check existing BMC SEL records for the same AER event before enabling this consumer, to avoid duplicate records.

OPENBMC_UNIFIED_SEL_ENABLE=yes enables the Facebook/Meta Unified SEL consumer. It writes non-timestamped OEM record type 0xfb entries. Enable it only on BMC firmware that includes fb-ipmi-oem Unified SEL support; OpenBMC branding alone is not sufficient.

AMPERE_OEM_SEL_ENABLE=yes enables Ampere’s OEM AER SEL consumer. It writes timestamped OEM record type 0xc0 entries, with Ampere’s IANA Private Enterprise Number 52538 and Ampere-defined PCIe location data. Enable it only on BMC firmware that implements this payload. The public Ampere documentation does not identify a compatible model list.

Each reported AER event consumes a SEL entry, so monitor the available SEL space when enabling an IPMI consumer.

Both settings default to no.

PCIe eDPC configuration

The optional pcie-edpc Meson feature builds an action module that can configure PCIe Enhanced Downstream Port Containment (eDPC) during startup. It requires libpci version 3.10.0 or newer. Set PCIE_EDPC_ENABLE=yes to make DPC-capable ports trigger containment on fatal PCIe errors. This changes device configuration and remains disabled by default. Set EDPC_DEVICE to a comma-separated list of PCI addresses to limit the action; without it, rasdaemon configures every DPC-capable device.

CXL traffic can be disrupted when containment brings a link down. Do not enable eDPC on CXL.cache or CXL.mem paths unless the platform vendor explicitly supports it.

Corrected-error actions

When the corresponding features are built, rasdaemon can account for corrected errors and isolate failing memory pages, memory rows, or CPUs. Relevant settings include:

  • PAGE_CE_ACTION, PAGE_CE_THRESHOLD, and PAGE_CE_REFRESH_CYCLE

  • ROW_CE_ACTION, ROW_CE_THRESHOLD, and ROW_CE_REFRESH_CYCLE

  • CPU_ISOLATION_ENABLE, CPU_CE_THRESHOLD, CPU_ISOLATION_CYCLE, and CPU_ISOLATION_LIMIT

Page and row actions accept off, account, soft, hard, and soft-then-hard. The installed configuration template documents the accepted threshold and time units.

Triggers and statistics

Trigger programs are resolved relative to TRIGGER_DIR. These variables select a program for each supported event type:

  • MC_CE_TRIGGER and MC_UE_TRIGGER

  • AER_CE_TRIGGER and AER_UE_TRIGGER

  • MEM_FAIL_TRIGGER

The configured program must be accessible to the daemon. rasdaemon supplies event data to it through environment variables.

MC_CE_STAT_THRESHOLD controls corrected-memory-error statistics, and POISON_STAT_THRESHOLD controls poison-page statistics. ERST_DELETE controls deletion of processed ERST records. Refer to the installed template for defaults and units.