Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI This information is Copyright 2009 Sun Microsystems 1. Introduction 1.1. Project/Component Working Name: FreeIPMI 1.2. Name of Document Author/Supplier: Author: Michal Bachorik 1.3 Date of This Document: 17 April, 2009 4. Technical Description Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI This information is Copyright 2009 Sun Microsystems 1.0 Project Information 1.1 Name of project/component FreeIPMI 0.7.7
1.2 Author of document Michal Bachorik 1.3. Date of This Document: 17 April 2009 2.0 Project Summary 2.1 Project Description FreeIPMI provides in-band and out-of-band IPMI software based on the IPMI v1.5/2.0 specification. The project goal is to port the functionality offered by FreeIPMI to OpenSolaris. 4. Technical Description: The IPMI specification defines a set of interfaces for platform management. It is utilized by a wide variety of vendors for system management on motherboards. The features of IPMI that most users will be interested in are sensor monitoring, remote power control, serial-over-LAN (SOL), and system debugging. The FreeIPMI tools and libraries should provide users with the ability to access and utilize these features. 5. Interfaces FreeIPMI provides in-band and out-of-band IPMI software based on the IPMI v1.5/2.0 specification. As such, it includes various tools to configure BMC and IPMI information, list information about BMC, manage/monitor a chassis, read FRU information, read/manage system event log records among other things. The project further includes the necessary libraries and header files for developing custom IPMI tools. Project introduces 2 daemons: - BMC watchdog, daemon that watches bmc events and offers an automatic action to be performed when certain event occurs - IPMIdetecd, daemon that is able to detect new impi nodes. Daemons are not started during installation and are not starter automatically (unless explicitly configured to do so). There will be a SMF manifest for each daemon taking care of daemon lifecycle. Exported Interfaces Interface Name Classification Comments --------------------------- ------------------- --------------------------- SUNWfreeipmr Uncommitted name of package var/log/ipmiconsole Uncommitted new directory created for SUNWfreeipmr package var/log/freeipmi Uncommitted new directory created for SUNWfreeipmr package var/lib/freeipmi Uncommitted new directory created for SUNWfreeipmr package var/cache/ipmimonitoringsdrcache Uncommitted new directory created for SUNWfreeipmr package etc/logrotate.d Committed new directory created for SUNWfreeipmr package, if does not exist SUNWfreeipmiu Uncommitted name of package usr/lib Committed new directory created for SUNWfreeipmu package, if does not exist usr/include Committed new directory created for SUNWfreeipmu package, if does not exist usr/include/freeipmi Uncommitted new directory created for SUNWfreeipmu package, if does not exist usr/include/freeipmi/spec Uncommitted new directory created for SUNWfreeipmu package, if does not exist usr/include/freeipmi/sdr-cache Uncommitted new directory created for SUNWfreeipmu package, if does not exist usr/include/freeipmi/locate Uncommitted new directory created for SUNWfreeipmu package, if does not exist usr/include/freeipmi/cmds Uncommitted new directory created for SUNWfreeipmu package, if does not exist usr/include/freeipmi/interface Uncommitted new directory created for SUNWfreeipmu package, if does not exist usr/include/freeipmi/fiid Uncommitted new directory created for SUNWfreeipmu package, if does not exist usr/include/freeipmi/api Uncommitted new directory created for SUNWfreeipmu package, if does not exist usr/include/freeipmi/util Uncommitted new directory created for SUNWfreeipmu package, if does not exist usr/include/freeipmi/record-format Uncommitted new directory created for SUNWfreeipmu package, if does not exist usr/include/freeipmi/debug Uncommitted new directory created for SUNWfreeipmu package, if does not exist usr/include/freeipmi/driver Uncommitted new directory created for SUNWfreeipmu package, if does not exist usr/share/man/man3 Committed new directory created for SUNWfreeipmu package, if does not exist usr/share/man/man4 Committed new directory created for SUNWfreeipmu package, if does not exist usr/share/man/man5 Committed new directory created for SUNWfreeipmu package, if does not exist usr/share/man/man1m Committed new directory created for SUNWfreeipmu package, if does not exist usr/share Committed new directory created for SUNWfreeipmu package, if does not exist usr/share/doc Committed new directory created for SUNWfreeipmu package, if does not exist usr/share/doc/freeipmi Uncommitted new directory created for SUNWfreeipmu package, if does not exist usr/share/doc/freeipmi/info Uncommitted new directory created for SUNWfreeipmu package, if does not exist libipmidetect Uncommitted usr/lib/libipmidetect.so.0.0.0, A library for IPMI node detection. libipmiconsole Uncommitted usr/lib/libipmiconsole.so.2.0.3, A library for Serial-over-Lan (SOL) console access. SOL console access is abstracted into a file descriptor interface, so users may read and write console data through a file descriptor. libfreeipmi Uncommitted usr/lib/libfreeipmi.so.6.1.2, A C library that includes KCS, SSIF, and OpenIPMI drivers, IPMI 1.5 and IPMI 2.0 LAN communication interfaces, IPMI packet building utilities, IPMI command utilities, and utilities for reading/interpreting/managing IPMI. libipmimonitoring Uncommitted usr/lib/libipmimonitoring.so.1.1.2, A library for sensor monitoring and interpretation. Sensor monitoring and interpretation of those sensors is abstracted into an API with an iterator interface. bmc-info Uncommitted a tool to read information about a BMC such as device version numbers, device support, and global IDs (guids). bmc-config Uncommitted a tool to configure general BMC and IPMI information. Supports configuration of usernames, passwords, networking information, security, Serial-over-LAN (SOL), and other core fields. bmc-watchdog Uncommitted a tool/daemon to manage a BMC Watchdog. This tool is typically used for system timeout management and automatic system restarts in the event of a system crash. ipmi-chassis Uncommitted a tool to manage/monitor a chassis, such as chassis power, identification, and status. ipmi-fru Uncommitted a tool to read field replaceable unit (FRU) information from a motherboard/machine. ipmi-sel Uncommitted a tool to read and manage IPMI System Event Log (SEL) records. SEL records store system event information and may be useful for debugging problems. ipmi-sensors Uncommitted a tool to read IPMI sensor readings and sensor data repository (SDR) information. ipmipower Uncommitted a tool for remote power control. ipmiconsole Uncommitted a tool for Serial-over-Lan (SOL) console access. ipmimonitoring Uncommitted a tool for sensor monitoring and interpretation. The tool is similar to ipmi-sensors, but sensor readings are analyzed and mapped into Nominal, Warning, and Critical states. ipmi-raw Uncommitted a tool that provides hex input/output of IPMI commands. ipmi-locate Uncommitted a tool that can probe for information about the location of a BMC device, such as device addresses. pef-config Uncommitted a tool to configure Platform Event Filtering (PEF) information. ipmi-chassis-config Uncommitted a tool to configure IPMI chassis information. Supports configuration of boot device, power restore policy, and other chassis related fields. ipmi-sensors-config Uncommitted a tool to configure IPMI sensors. Supports configuration of sensor thresholds, sensor events, and other sensor related fields. bmc-device Uncommitted a tool to perform advanced BMC commands. ipmiping Uncommitted an IPMI ping tool for debugging. rmcpping Uncommitted a RMCP ping tool for debugging. ipmi-oem Uncommitted an IPMI tool for OEM specific commands. ipmidetect / ipmidetectd Uncommitted a tool and daemon for IPMI node detection Imported Interfaces Interface Name Classification Comments --------------------------- -------------------- -------------------------- bmc_intf.h Contracted Private located in /onnv/onnv-gate/usr/src/uts/common/sys/bmc_intf.h - how to ask for contract? libgcrypt Committed located in /usr/lib/libgcrypt.so.11 6. Resources and Schedule: 6.4. Product Approval Committee requested information: 6.4.1. Consolidation or Component Name: SFW 6.5. ARC review type: Automatic 6.6. ARC Exposure: open 6. Resources and Schedule 6.4. Steering Committee requested information 6.4.1. Consolidation C-team Name: SFW 6.5. ARC review type: Automatic 6.6. ARC Exposure: open