platformi

The purpose of this module is to implement some or all of the following:

Fan Management

The onlp_platformi_manage_fans() function must be implemented to read the current state of the thermals and set all fan speeds appropriately. On most platforms this should also set all fans to max if any fan is in a failure state, regardless of the values of the thermals.

Implementation of this algorithm is highly specific to your platform. This function will be called periodically by the platform management daemon. While this function should be comprehensive in its inspection and reaction it should not block for a unreasonable amount of time.

LED Managmeent

The onlp_platformi_manage_leds() function must be implemented to set the state of all LEDs in the system consistent with the current state of the FRUs, as per the platform policy.

Many platforms have a “health” LED which may be green when all fans and PSUs are operational, or Yellow if a single PSU has failed, etc.

The LED policy is left to the platform implementor. This function will be called periodically by the platform management daemon. It should not block for an unreasonable amount of time.

Baseboard Management Controllers

If your platform contains a BMC then the Fan and LED algorithms will be implemented there and not by ONLP. In this case there is no need to implement the fan and led management routines.

Platformi Debug Hook

The onlp_platformi_debug() function an argc and and argv and should return its output through the passed AIM PVS pointer.

While an application can call this it is usually issue through the command line tools.

For example, from the onlpd tool you might run:

#> onlpd debug cpld-dump 0 1 2

In this case the parameters “cpld-dump”, “0, “1”, “2” will be passed to your onlp_platformi_debug() routine, the output collected, and shown to the user.

This interface is optional.

Platformi Documentation


Return to APIs