| # PLDM daemon options |
| option( |
| 'tests', |
| type: 'feature', |
| value: 'enabled', |
| description: 'Build tests' |
| ) |
| |
| option( |
| 'oe-sdk', |
| type: 'feature', |
| description: 'Enable OE SDK' |
| ) |
| |
| option( |
| 'utilities', |
| type: 'feature', |
| value: 'enabled', |
| description: 'Enable debug utilities' |
| ) |
| |
| option( |
| 'libpldmresponder', |
| type: 'feature', |
| value: 'enabled', |
| description: 'Enable libpldmresponder' |
| ) |
| |
| option( |
| 'systemd', |
| type: 'feature', |
| value: 'enabled', |
| description: 'Include systemd support' |
| ) |
| |
| option( |
| 'transport-implementation', |
| type: 'combo', |
| choices: ['mctp-demux', 'af-mctp'], |
| description: 'transport via af-mctp or mctp-demux' |
| ) |
| |
| # As per PLDM spec DSP0240 version 1.1.0, in Timing Specification for PLDM messages (Table 6), |
| # the instance ID for a given response will expire and become reusable if a response has not been |
| # received within a maximum of 6 seconds after a request is sent. By setting the dbus timeout |
| # value to 5 seconds we ensure that PLDM does not wait for a response from a dbus call even after |
| # the instance ID has expired. If the option is set to 5 seconds, any dbus call originated from |
| # PLDM daemon will timeout after 5 seconds. |
| option( |
| 'dbus-timeout-value', |
| type: 'integer', |
| min: 3, |
| max: 10, |
| value: 5, |
| description: '''The amount of time pldm waits to get a response for a dbus |
| message before timing out''' |
| ) |
| |
| option( |
| 'heartbeat-timeout-seconds', |
| type: 'integer', |
| value: 120, |
| description: '''The amount of time host waits for BMC to respond to pings |
| from host, as part of host-bmc surveillance''' |
| ) |
| |
| # Flight Recorder for PLDM Daemon |
| option( |
| 'flightrecorder-max-entries', |
| type:'integer', |
| min:0, |
| max:30, |
| value: 10, |
| description: '''The max number of pldm messages that can be stored in the |
| recorder, this feature will be disabled if it is set to 0''' |
| ) |
| |
| # PLDM Daemon Terminus options |
| option( |
| 'terminus-id', |
| type:'integer', |
| min:0, |
| max: 255, |
| value:1, |
| description: '''The terminus id value of the device that is running this |
| pldm stack''' |
| ) |
| |
| option( |
| 'terminus-handle', |
| type:'integer', |
| min:0, |
| max:65535, |
| value:1, |
| description: '''The terminus handle value of the device that is running this |
| pldm stack''' |
| ) |
| |
| # Timing specification options for PLDM messages |
| option( |
| 'number-of-request-retries', |
| type: 'integer', |
| min: 0, |
| max: 30, |
| value: 2, |
| description: '''The number of times a requester is obligated to retry a |
| request''' |
| ) |
| |
| option( |
| 'instance-id-expiration-interval', |
| type: 'integer', |
| min: 5, |
| max: 6, |
| value: 5, |
| description: 'Instance ID expiration interval in seconds' |
| ) |
| |
| # Default response-time-out set to 2 seconds to facilitate a minimum retry of |
| # the request of 2. |
| option( |
| 'response-time-out', |
| type: 'integer', |
| min: 300, |
| max: 6000, |
| value: 2000, |
| description: '''The amount of time a requester has to wait for a response |
| message in milliseconds''' |
| ) |
| |
| option( |
| 'metrics-dump-period', |
| type: 'integer', |
| value: 0, |
| description: '''The period to dump pldmd metrics in seconds. Zero will |
| disable this feature''' |
| ) |
| |
| # Firmware update configuration parameters |
| option( |
| 'maximum-transfer-size', |
| type: 'integer', |
| min: 16, |
| max: 4294967295, |
| value: 4096, |
| description: '''Maximum size in bytes of the variable payload allowed to be |
| requested by the FD, via RequestFirmwareData command''' |
| ) |
| |
| # PLDM Soft Power off options |
| option( |
| 'softoff', |
| type: 'feature', |
| value: 'enabled', |
| description: 'Build soft power off application' |
| ) |
| |
| option( |
| 'softoff-timeout-seconds', |
| type: 'integer', |
| value: 7200, |
| description: 'softoff: Time to wait for host to gracefully shutdown' |
| ) |
| |
| # Vendor Specific Options |
| |
| ## OEM IBM Options |
| option( |
| 'oem-ibm', |
| type: 'feature', |
| value: 'enabled', |
| description: 'Enable IBM OEM PLDM' |
| ) |
| |
| option( |
| 'oem-ibm-dma-maxsize', |
| type: 'integer', |
| min:4096, |
| max: 16773120, |
| value: 8384512, |
| description: 'OEM-IBM: max DMA size' |
| ) |
| option( |
| 'sleep-between-get-sensor-reading', |
| type: 'integer', |
| min: 0, |
| max: 1000, |
| value: 10, |
| description: '''The amount of time the sensor polling timer should sleep |
| between the sending GetSensorReading times in |
| milliseconds''' |
| ) |
| |
| option( |
| 'poll-sensor-timer-interval', |
| type: 'integer', |
| min: 1000, |
| max: 100000, |
| value: 1000, |
| description: '''The interval to restart the timer to poll the PLDm sensors |
| in milliseconds''' |
| ) |
| |
| option( |
| 'normal-ras-event-timer', |
| type: 'integer', |
| min: 2000, |
| max: 10000, |
| value: 5000, |
| description: '''The amount of time a BMC periodcally poll normal RAS event |
| in milliseconds''' |
| ) |
| |
| option( |
| 'critical-ras-event-timer', |
| type: 'integer', |
| min: 25, |
| max: 100, |
| value: 50, |
| description: '''The amount of time a BMC periodcally poll critical RAS event |
| in milliseconds''' |
| ) |
| |
| option( |
| 'poll-req-event-timer', |
| type: 'integer', |
| min: 25, |
| max: 100, |
| value: 25, |
| description: '''The amount of time a BMC send each part in multipart |
| pollForEventMessage in milliseconds''' |
| ) |
| |
| option( |
| 'ampere', |
| type: 'feature', |
| description: 'Enable AMPERE PLDM' |
| ) |
| |
| option( |
| 'destroy-unavaliable-sensor', |
| type: 'feature', |
| value: 'disabled', |
| description: 'Destroy unavaliable sensor from DBus' |
| ) |
| |
| option( |
| 'cper-log-path', |
| type : 'string', |
| value : '/var/lib/faultlogs/cper/', |
| description : 'File system path containing CPER logs' |
| ) |
| |
| option( |
| 'ampere-pldm-event-handler-app', |
| type : 'string', |
| value : '/usr/sbin/ampere_pldm_event_handler.sh', |
| description: '''Ampere PLDM event handler application to handl PLDM |
| sensor/platformMessagePoll event''' |
| ) |
| |
| # Impactless update configuration parameters |
| option( |
| 'impactless_update_finish_ras_timeout_ms', |
| type: 'integer', |
| min: 0, |
| max: 20000, |
| value: 6000, |
| description: '''Timeout to wait for RAS polling completion before entering |
| quiesce mode in millisecond''' |
| ) |
| |
| option( |
| 'impactless_update_mpro_recovery_timeout_ms', |
| type: 'integer', |
| min: 2000, |
| max: 120000, |
| value: 60000, |
| description: '''Timeout to wait for MPro recovery after acknowledgement of |
| impactless update in millisecond''' |
| ) |
| |
| option( |
| 'impactless_update_timer_interval_ms', |
| type: 'integer', |
| min: 0, |
| max: 1000, |
| value: 100, |
| description: '''Interval in millisecond used for timers in impactless |
| update handling''' |
| ) |
| |
| option( |
| 'firmware-package-staging-dir', |
| type: 'string', |
| value: '/tmp/pldm-images', |
| description: 'Firmware package staging directory for PLDM packages.', |
| ) |