description: >
    SOL properties use for Get/Set SOL config parameter command in host-ipmid
    sending config to SOL process in net-ipmid. Since some platforms need to
    access Get/Set SOL config parameter command through KCS, and current SOL
    manager is implemented in net-ipmid and cannot be accessed by host-ipmid,
    add a D-Bus interface for host-ipmid command to transfer properties to
    net-ipmid. This interface will be implemented in phosphor-settings.
properties:
    - name: Progress
      type: byte
      default: 0
      description: >
          Set In Progress property, indicate when any parameters are being
          updated.
    - name: Enable
      type: boolean
      default: true
      description: >
          SOL Enable property, this controls whether the SOL payload type can be
          activated.
    - name: ForceEncryption
      type: boolean
      default: true
      description: >
          If SOL enable Force Payload Encryption.
    - name: ForceAuthentication
      type: boolean
      default: true
      description: >
          If SOL enable Force Payload Authentication
    - name: Privilege
      type: byte
      default: 4
      description: >
          Sets the minimum operating privilege level that is required to be able
          to activate SOL by Activate Payload command.
    - name: AccumulateIntervalMS
      type: byte
      default: 20
      description: >
          Character Accumulate Interval in 5ms increments. BMC will wait this
          time before transmitting a packet.
    - name: Threshold
      type: byte
      default: 1
      description: >
          BMC will automatically send an SOL character data packet containing
          this number of characters as soon as this number of characters (or
          greater) has been accepted from the baseboard serial controller.
    - name: RetryCount
      type: byte
      default: 7
      description: >
          Packet will be dropped if no ACK/NACK received by time retries expire.
    - name: RetryIntervalMS
      type: byte
      default: 100
      description: >
          Retry Interval in 10ms increments.
