6.8. IPMI Direct Plugin

The IPMI Direct plugin provides OpenHPI access to ATCA and IPMI 1.5 systems. The plugin uses multiple threads to communicate to the IPMI hardware. RMCP as well as SMI (access to IPMI divice driver) are supported for IPMI access. The following features are supported:

  • Sensors

  • FRU inventory data reading

  • ATCA hotswapping

  • System event log

  • Power and reset states for ATCA

6.8.1. Prerequisites

The IPMI Direct plugin can be enabled using the --enable-ipmidirect flage to the ./configure script. It is build by default. A statical linked version of OpenHPI and IPMI Direct can be build with --enable-ipmidirect=static.

For RMCP password cryption MD2 or MD5 OpenSSL is required. OpenSSL is available at http://www.openssl.org.

6.8.2. Configuration

The IPMI Direct plugin supports "SMI" and "LAN" access methods to IPMI or ATCA hardware. Below is an example "SMI" configuration stanza:

plugin libipmidirect

handler libipmidirect {
        entity_root = "{ROOT,0}{SYSTEM_CHASSIS,0}"
        name="smi"
        addr="0"
}
        


The parameter addr is the device number of the IPMI device. For the above example the plugin checks /dev/ipmidev0, /dev/ipmi/0 and /dev/ipmi0 for an IPMI device.

And this is an example "LAN" or RMCP configuration stanza:

plugin libipmidirect

handler libipmidirect {
        entity_root = "{SYSTEM_CHASSIS,0}"
        name = lan
        addr = "IP.ADDRESS.HERE"
        port = "IPMI LAN PORT NUMBER"
        auth_type = "NONE STRAIGHT, MD2 or MD5"
        auth_level= "USER, OPERATOR or ADMIN"
        username = "YOUR_USER_NAME"
        password = "YOUR_PASSWORD"
        IpmiConnectionTimeout = "5000"
        AtcaConnectionTimeout = "1000"
        MaxOutstanding = "3"
        MCC8= "initial_discover poll_alive poll_dead"
        MCCA= "initial_discover poll_alive poll_dead"
}
                


ATCA systems are autodetected. The plugin uses different timeouts for IPMI 1.5 and ATCA systems. IpmiConnectionTimeout and AtcaConnectionTimeout are timouts in miliseconds.

The plugin uses one thread per Managment Controller (MC). The maximum outstanding IPMI commands can be given by MaxOutstanding. When the plugin has send MaxOutstanding IPMI commands it will block until it receives a reply for an outstanding command or a timeout happens. Then the next command is send.

The MCs in ATCA systems are automatic detected. For IPMI 1.5 the plugin needs help by the configuration file. Given the line MCCA="initial_discover poll_alive poll_dead" the plugin checks for an MC at address CA (hexadecimal) at startup. When an MC is found it is alive. poll_alive means that the MC is polled once a second to check if the MC is already there. This is to check for removal of a FRUs. poll_dead is to check insertion of FRUs on IPMI 1.5 systems.

More than one handler sections for IPMI Direct plugin are supported. The plugin is known to work on i386 and PPC platforms under linux.