| description: > |
| Implement this to add system dump management. |
| |
| System dumps are dump of the host memory and hardware states generated |
| during a failure in the host firmware. This can be a huge dump stored in the |
| host memory, the BMC doesnt store this dump but stream this dump to an |
| external client based on the offload request. Apart from system generated |
| system dump, users can also request for this kind of dump. |
| |
| properties: |
| - name: SourceDumpId |
| type: uint32 |
| description: > |
| The dump id provided by the source of the dump. There are dumps which |
| get generated outside the BMC, like a system dump which gets generated |
| and stored in the host memory. All dumps will have a unique id but |
| when communicating to the source of the dump the SourceDumpId will be |
| used. |
| - name: Token |
| type: uint32 |
| description: > |
| A token exchanged with an external firmware subsystem when creating a |
| dump outside of the BMC. This token can be used to identify the dump |
| entry once the collection is completed. |
| - name: SystemImpact |
| type: enum [self.SystemImpact] |
| default: Disruptive |
| description: > |
| System dumps can be broadly classified into two types based on their |
| impact on the system state. The first type, known as a 'disruptive' |
| dump, alters the system state. This kind of dump is typically |
| generated during a host crash, although it can also be manually |
| requested by a user. Despite its disruptive nature, this dump is able |
| to collect a lot of data, making it particularly useful for diagnosing |
| system crashes. The second type is a 'non-disruptive' dump. As the |
| name suggests, this dump is created without causing any disruption to |
| the system state. |
| - name: UserChallenge |
| type: string |
| description: > |
| On some host implementations a user-challenge need to be provided by |
| the user and it flows through BMC and up to the host as a part of the |
| dump request. Non-disruptive dumps consume significant host resources |
| and involve the collection of host memory data. To safeguard these |
| operations and ensure they are initiated only by authorized personnel, |
| the provided passphrase is employed. In some systems, an Access |
| Control List (ACL) file, provided through the Platform Level Data |
| Model (PLDM), is used. The host validates the provided user-challenge |
| against this ACL. If the user-challenge doesn't match any entry in the |
| ACL, the host will reject the dump request. This field is needed so |
| the host can check that only authorized users are allowed to perform |
| certain dump operations. |
| |
| enumerations: |
| - name: SystemImpact |
| description: Indicate the type of system dump |
| values: |
| - name: Disruptive |
| description: > |
| The system state will change with this type of dump collection |
| - name: NonDisruptive |
| description: > |
| The system state will not change with the collection |