All Classes and Interfaces

Class
Description
Fields shared by the Full, Compact and Event-Only sensor records (IPMI 2.0 tables 43-1, 43-2 and 43-3), and the methods decoding them.
An abstract wrapper class for Activate Payload Command.
Wrapper for Activate Payload response
Concrete implementation of ActivatePayload command for PayloadType.SOL.
Concrete implementation of ActivatePayloadResponseData for PayloadType.SOL.
Type of address behind Sensor Record's 'Sensor Owner ID' field.
Waiting for the GetChannelAuthenticationCapabilities response, the first one of the handshake.
Interface for authentication algorithms.
Performs transition from Ciphers to Authcap: the caller declared the cipher suite and the privilege of the session.
The RAKP authentication of a session failed on the console side: the key exchange authentication code of RAKP Message 2 or the integrity check value of RAKP Message 4 does not match, which means a wrong password or BMC key (IPMI 2.0 sections 13.31 and 13.32).
RAKP-HMAC-MD5 authentication algorithm.
RAKP-HMAC-SHA1 authentication algorithm.
RAKP-HMAC-SHA256 authentication algorithm.
RAKP-None authentication algorithm.
Available types of authentication.
Performs transition from Authcap to OpenSessionWaiting.
Base Compatibility record (type 04h) from the FRU MultiRecord area
Represents unit which is used to access FRU
What the BMC supports before any login (Get Channel Cipher Suites and Get Channel Authentication Capabilities, IPMI 2.0 sections 22.15 and 22.13): the cipher suites it offers and its authentication options.
Deprecated.
This sensor record has been deprecated
FRU record containing Board info.
ByteBuffer is a wrapper for byte[], and allows to safely read and write from the buffer.
Wrapper class for Chassis Control request.
Wrapper class for Chassis Control response.
Wrapper for the Chassis Identify command (IPMI 2.0 section 28.5): makes the chassis identify itself, by a blinking LED or a beep, for a number of seconds, indefinitely, or not any more.
Wrapper class for Chassis Identify response, which carries no data.
Chassis Identify State.
FRU record containing Chassis info.
This area is used to hold Serial Number, Part Number, and other information about the system chassis.
The state of the chassis: power, faults, intrusion, identify LED (Get Chassis Status, IPMI 2.0 table 28-3).
Specifies possible types of chassis.
The authentication capabilities and the CipherSuites of the BMC were read.
Provides cipher suite (authentication, confidentiality and integrity algorithms used during the session).
Interface for CipherSuite selection handler to choose among available CipherSuites returned by the server.
State at which getting Channel Cipher Suites is in progress.
Wrapper for Close Session request
StateMachineEvent that will make StateMachine in the SessionValid State to send CloseSession and transit to Authcap State the session.
Wrapper for Close Session response
Contains command codes for IPMI commands Byte constants are encoded as pseudo unsigned bytes.
Set of constants.
Wrapper for Compact Sensor Record format
 
AES-CBC-128 confidentiality algorithm
Interface for Confidentiality Algorithms.
Class representing no confidentiality algorithm.
A connection with the specific remote host.
Exception indicating that connecting to the remote machine failed.
Identifies one Connection (one BMC) of a connector: its index in the connector, the address and UDP port of the BMC, the cipher suite and privilege level of its session, and the user name, password and BMC key (Kg) the session was opened with, which the connector keeps to open another session on a payload port of the same BMC (Serial over LAN).
Interface for the Connection listener.
Manages multiple Connections
Holds constants common for whole library.
DC Load record (type 02h) from the FRU MultiRecord area
This record is used to describe the maximum load that a device requires from a particular DC Output.
DC Output record (type 01h) from the FRU MultiRecord area
A wrapper class for Deactivate Payload Command.
Enumeration of specific completion codes for DeactivatePayload command.
Wrapper for Deactivate Payload response
Decodes RMCP packet into ResponseData.
Generic event that is used in a few transitions.
Default message for acknowledging received IPMI responses.
A function the BMC provides, from the additional device support byte of Get Device ID (IPMI 2.0 table 20-2).
The identity of the BMC: its manufacturer and product IDs, its firmware revision, the IPMI version it implements and the functions it provides (Get Device ID, IPMI 2.0 section 20.1).
Deprecated.
misspelled: use DeviceRelativeEntityAssociationRecord, the class the SDR walk returns for type 09h.
Device-relative Entity Association record, SDR type 09h (IPMI 2.0 section 43.5): the same as the EntityAssociationRecord, except that it supports describing associations between entities that have device-relative Entity Instance values as well as system-relative values.
 
Creates RMCP packet containing encrypted IPMI command from IPMICommand wrapper class or raw byte data.
This record is used to present the relationship between entities that contain, or are contained by, other entities.
The EntityID is used for identifying the physical entity that a sensor or device is associated with.
Action representing an exception handed to the machine owner.
Whether a system event is an assertion or a deassertion (bit 7 of the Event Dir | Event Type byte, IPMI 2.0 table 32-1).
This record provides a mechanism to associate FRU and Entity information with a physical or logical sensor that generates events, but cannot otherwise be accessed.
Extended Compatibility record (type 05h) from the FRU MultiRecord area: the same layout as the BaseCompatibilityInfo record (type 04h).
A Field Replaceable Unit of the system: the board, chassis, product and multirecord areas of its FRU inventory (IPMI Platform Management FRU Information Storage Definition), or the SPD data of a memory module, or the Processor Information ROM of a processor, located by an SDR record.
A FRU Device Locator record (SDR type 11h, IPMI 2.0 table 43-7): it locates FRU information that is on the IPMB, on a private bus behind a management controller, or accessed with the FRU commands of a management controller.
The FRUs read by IpmiClient.frus(): an unmodifiable list, with the SDR records the repository walk skipped.
Identifies type of the information stored in FRU's MultiRecord Area entry.
General class for FRU Inventory area records.
Reads the FRU inventories of the BMC: those that the FRU Device Locator records of the SDR repository point at, and the one of the system board.
A Full Sensor Record (SDR type 01h, IPMI 2.0 table 43-1): one sensor, with the fields of AbstractSensorRecord, the factors that convert its reading bytes to values in its unit (FullSensorRecord.calcFormula(int)), its nominal and normal readings, its reading range and its thresholds.
This record is used to store the location and type information for devices on the IPMB or management controller private busses that are neither IPMI FRU devices nor IPMI management controllers.
Wrapper for Get Channel Authentication Capabilities request
A wrapper for Get Channel Authentication Capabilities command response
Wrapper for RMCP+ Get Channel Cipher Suites command.
Performed in CiphersWaiting State indcates that not all available CipherSuites were received from the remote system and more GetChannelCipherSuites commands are needed.
Wrapper for Get Channel Cipher Suites response
A wrapper class for Get Channel Payload Support Command.
Wrapper for Get Channel Payload Support response
Wrapper class for Get Chassis Status request.
The reply to Get Chassis Status (IPMI 2.0 table 28-3): the current power state, the last power event, the miscellaneous chassis state and, when the BMC sends it, the front panel button capabilities.
Wrapper for the Get Device ID command (IPMI 2.0 section 20.1): the identity of the controller, its firmware and the functions it provides.
Wrapper for the Get Device ID response (IPMI 2.0 table 20-2): the device ID and revision, the firmware revision, the IPMI version, the functions the device provides, the manufacturer and product IDs and the optional auxiliary firmware revision.
Get Device SDR (IPMI 2.0 section 35.3): reads a record of the SDRs a Sensor Device holds itself, for a controller without an SDR Repository.
Get Device SDR Info (IPMI 2.0 section 35.2): how many SDRs a Sensor Device holds itself, or how many sensors it implements at the LUN the request is addressed to.
The response to GetDeviceSdrInfo (IPMI 2.0 table 35-2).
A wrapper class for Get FRU Inventory Area Info Command.
A wrapper for Get Fru Inventory Area Info response
Wrapper for Get Payload Activation Status Command.
Wrapper for Get Payload Activation Status response.
Wrapper for the Get Payload Instance Info command (IPMI 2.0 section 24.5): the session where an instance of a payload is active.
Response of the Get Payload Instance Info command (IPMI 2.0 table 24-7).
Wrapper for Get SDR command.
A wrapper class for Get SDR Repository Info Command.
Wrapper for Get SDR Repository Info response.
Wrapper for Get SDR command response.
Wrapper for Get Sel Entry request
Wrapper for Get Sel Entry response
Wrapper class for Get SEL Info request.
The reply to Get SEL Info (IPMI 2.0 section 31.2): the version of the SEL, its number of entries and the times of its last addition and erasure.
Wrapper for the Get SEL Time UTC Offset command (IPMI 2.0 revision 1.1, section 31.11a): the offset from UTC of the SEL time, for a BMC that keeps its SEL time as local time.
Wrapper for the Get SEL Time UTC Offset response.
Wrapper for Get Sensor Reading request.
Get Sensor Reading Factors (IPMI 2.0 section 35.5): the factors that convert a given reading of a non-linear sensor.
Reply to Get Sensor Reading Factors (IPMI 2.0 table 35-5).
The reply to Get Sensor Reading (IPMI 2.0 table 35-15): the reading byte, the status bits and the threshold or discrete states of the sensor.
Get Session Info (IPMI 2.0 section 22.20), looking a session up by its session ID: what the BMC knows of it.
The reply to Get Session Info (IPMI 2.0 table 22-26): the session counts of the BMC, and the user ID, privilege level and channel of the session looked up when the BMC has it.
Returns the Session Integrity Key calculated after receiving RAKP Message 2.
Interface for incoming payloads.
Listener for inbound SOL messages sent by remote system to this application: it buffers their characters and acknowledges them (IPMI 2.0 sections 15.9 and 15.11).
 
Interface for Integrity Algorithms.
HMAC-MD5-128 integrity algorithm.
HMAC-SHA1-96 integrity algorithm.
HMAC-SHA256-128 integrity algorithm.
MD5-128 integrity algorithm (IPMI 2.0 section 13.28.4): a plain MD5 of the password around the message, AuthCode = MD5(password + AuthType/Format ... Next Header + password), where the password is the user's key (Kuid) zero-padded to 20 bytes as the BMC stores it.
Class representing RAKP-None integrity algorithm
The internal use area of a FRU (FRU specification section 9): vendor-private data, kept as it is.
The BMC does not support IPMI 2.0 (RMCP+): its reply to Get Channel Authentication Capabilities, in the IPMI v1.5 format, reports no IPMI v2.0 connections (IPMI 2.0 table 22-15).
Asynchronous API for connecting to BMC via IPMI.
The BMC refused the login: unknown user name, wrong password or BMC key, role or privilege refused.
The command-line client: java -jar ipmi-java-<version>-standalone.jar [options] <subcommand> [...].
A client of one BMC over IPMI 2.0 (RMCP+).
Builds an IpmiClient: the BMC, the credentials and the session settings.
A failure of an IpmiClient operation.
A wrapper for an IPMI command: encodes its request and decodes its response, of type R.
The BMC answered a command with an error completion code (IPMI 2.0 table 5-2).
The connection to the BMC failed for a network reason: unknown host, socket error, no reply to the session setup after all the tries (wrong host, UDP port filtered, IPMI over LAN disabled, an IPMI 1.5-only BMC with IpmiClient.Builder.cipherSuite(int)), or the connection closed while an operation ran, which loses the session.
Synchronous API for connecting to BMC via IPMI.
Decodes IPMI session header and retrieves encrypted payload.
Encodes IPMI message.
Class that wraps exception that was cause of not receiving message.
 
Set of constants.
A wrapper class for IPMI LAN message
A wrapper class for IPMB LAN message
A wrapper class for IPMB response message.
Wrapper class for IPMI message
Default implementation of MessageHandler for IpmiLanMessages.
Payload for IPMI messages
Interface for response messages delivered to IpmiResponseListeners
Class that wraps ResponseData that was received successfully.
Interface for listeners of IpmiAsyncConnector.
The overall deadline of the operation expired, or a message of an established session got no reply after all the tries.
Wrapper for IPMI v.1.5 message
Wrapper class for IPMI v2.0 message
Describes IPMI version
An interface for listener of the StateMachine
Management Access record (type 03h) from the FRU MultiRecord area
 
This record can be used by utility software to record that a given controller has been discovered in the system.
This information is used for identifying management controllers on the IPMB and other internal channels, and for providing Entity and initialization information for all management controllers, including the BMC.
Returns response to the unknown command (recognition is up to the higher levels of the architecture) received in the SessionValid state.
Class used for composing byte messages aout from smaller byte subarrays.
Class used for handling outgoing and incoming messages for a Connection.
Listens to the IpmiAsyncConnector waiting for concrete message to arrive.
Queues messages to send and checks for timeouts.
Class used for reading subsequent byte subarrays from message, that is also a byte array.
Low level connection handler.
 
Record from the FRU MultiRecord area
IPMB network functions
OEM record (types C0h-FFh) from the FRU MultiRecord area
OEM specific record.
Wrapper class for RMCP+ Open Session request.
Performs transition from OpenSessionComplete to Rakp1Waiting.
Indicates that OpenSession response was received.
A wrapper for Open Session command response
Waiting for the OpenSession response.
Transition to OpenSessionComplete on DefaultAck Transition to Authcap on Timeout
Base class for IpmiPayload coders, used for encoding pyloads inside IpmiMessages.
Types of IPMI packet payload
The Processor Information ROM (PIROM) of an Intel Xeon processor, which the FRU device of a processor cartridge (device type 10h, modifier 03h) returns instead of an IPMI FRU inventory: the S-spec, the cores, the frequencies, the caches, the part number, the thermal design power and the Protected Processor Inventory Number (PPIN), decoded from the 128-byte layout of data format revision 7 (Intel Xeon Scalable Processors Datasheet, Volume One, chapter 5).
Decodes IPMI session header and retrieves encrypted payload.
Represents IPMI payload fully specified by user - contains wrapped byte array which is returned as a payload via PlainMessage.getPayloadData().
Specifies types of commands that can be sent to BMC via ChassisControl command.
What caused the last power down or power on of the system (Get Chassis Status, IPMI 2.0 table 28-3).
Chassis power restore policy.
Power Supply Information record (type 00h) from the FRU MultiRecord area
The privilege level of a session (IPMI 2.0 section 6.8), declared from the lowest to the highest: Callback, User, Operator, Administrator.
FRU record containing Product info.
This area is present if the FRU itself is a separate product.
Decodes IPMI session header and retrieves encrypted payload.
Adds IPMI session header to encrypted payload.
Decodes IPMI v1.5 session header and retrieves encrypted payload.
Encodes IPMI v1.5 message
Decodes IPMI v2.0 session header and retrieves encrypted payload.
Encodes IPMI v2.0 message.
 
A wrapper for RMCP+ RAKP1 message and it's response - RAKP2 message.
At this state RAKP Message 2 was received - waiting for the confirmation to send RAKP Message 3.
A wrapper for RAKP 2 message.
Waiting for RAKP Message 2.
Performs transition from Rakp1Complete to Rakp3Waiting.
A wrapper for RMCP+ RAKP3 message and it's response - RAKP4 message.
Empty state inserted to keep the convention of Waiting-Complete states.
A wrapper for RAKP 3 message.
At this point of session challenge, RAKP Message 3 was sent, StateMachine is waiting for RAKP Message 4.
Transition to: Rakp3Complete on DefaultAck Authcap on Timeout
Utility class for generating the random numbers of the RMCP+ session setup (the console random number of RAKP Message 1, the first console session ID), with a SecureRandom: a predictable console random number weakens the session keys.
 
A multirecord of a type the library does not model (Extended DC Output, Extended DC Load, a reserved type...): its type and its data as they are, so that nothing of the FRU is lost.
Sends any request, like ipmitool raw: bmc.raw(0x2C, 0x01).data(0xDC, 0x01).execute() is Get DCMI Capabilities Info.
The reply to a raw request (IpmiClient.raw(int, int)): its completion code and its data as the BMC sent them, whatever the completion code.
A wrapper class for Read FRU Data Command request.
Wrapper for Read FRU Data response.
Type of the reading of the discrete sensor.
The descriptions of the ReadingType states and events, in the wording of ipmiutil (of ipmitool for the few that ipmiutil does not name), used by Sensor.states() and SelEntry.description().
Class holding codes for SDR types.
Reserve Device SDR Repository (IPMI 2.0 section 35.4): the reservation of the partial reads of GetDeviceSdr.
Wrapper for Reserve SDR Repository command.
Wrapper for Reserve SDR Repository command response.
Wrapper for Reserve SEL command.
Wrapper for Reserve SEL command response.
StateMachineAction carrying ResponseData for the message in the process of the session challenge.
A wrapper for command response data.
Types of RMCP messages.
Set of constants.
Decodes RMCP packet from raw data.
Encodes RMCPMessage into RMCP packet.
A wrapper class for ASF ping message.
A wrapper class for RMCP message.
A wrapper class for ASF ping message.
Supported versions of RMCP protocol
Set of constants.
One entry of the System Event Log, read by IpmiClient.sel().
The entries read from the System Event Log by SelRequest.execute(), in the order of the log, with what Get SEL Info says of the whole log: how many entries it holds, and when it was last written and erased.
A System Event Log record as the BMC sent it (IPMI 2.0 section 32), decoded: its type, its timestamp and, for a system event, the sensor and the event.
The record type of a SEL entry (IPMI 2.0 section 31.6.1): one constant per range of record type codes.
Reads the System Event Log: bmc.sel().execute() for every entry, bmc.sel().since(entry).execute() for the entries added after one already read, and bmc.sel().stream() to get each entry as soon as it is read.
Send Message with response tracking (IPMI 2.0 sections 6.13.3 and 22.7): carries the request of another command to a controller behind the BMC, a satellite management controller on the IPMB for instance, and returns the response of that controller, decoded by that command.
Performed in SessionValid State will cause Sendv20Message.message to be sent.
A sensor of the BMC, with its SDR record and its reading.
Indicates whether the sensor is monitoring an input or output relative to the given Entity.
The sensors read by IpmiClient.sensors(): an unmodifiable list, with the SDR records the repository walk skipped.
The factors that convert a raw reading into a value in the units of the sensor: M, B and their exponents, with the tolerance and the accuracy.
A record of the Sensor Data Repository (IPMI 2.0 section 43): the record header that every type shares, and SensorRecord.populateSensorRecord(byte[]), which decodes a record into the class of its type.
Reads the sensors of the BMC: the Full and Compact sensor records of the SDR repository, each with its Get Sensor Reading.
Represents state of threshold-based sensor.
The status of a sensor: for a threshold sensor, the worst threshold its reading is at or beyond (IPMI 2.0 table 35-15); for a discrete sensor, whether it answers.
Type of the sensor.
Specifies available units for sensors' measurements.
A Serial over LAN (SOL) console in a session of the protocol core: activates the SOL payload, reads and writes the serial port of the server, and invokes the serial port operations.
Single opened IPMI session handle.
Exception that can be thrown when there are some problems with session, for example when establishig new session.
Manages multiple Sessions.
State in which the session is valid and sending IPMI commands to the remote machine is enabled.
Wrapper class for Set Session Privilege Level command
 
An SDR record the repository walk could not use: the BMC returned it truncated, or the library cannot decode it.
Enumeration of possible acknowledge states for SOL messages.
Implementation of PayloadCoder for payload type PayloadType.Sol.
A Serial over LAN console, as streams: what the system writes on its serial port is read from SolConsole.input(), what is written to SolConsole.output() reaches its serial port.
Interface for Serial over LAN (SOL) events listener.
Exception representing problem that might have been encountered during Serial over LAN communication.
Implementation of SolMessage for BMC -> Remote Console message.
SolInboundStatusField is a transfer object for status sent by remote system to this application in SolInboundMessage.
Implementation of IpmiPayload for SOL (Serial over LAN) messages.
Implementation of MessageHandler for PayloadType.Sol.
Enumeration of all possible operations, that Remote Console can invoke on BMC during SOL communication.
Implementation of SolMessage for Remote Console -> BMC message.
SolOutboundOperationField is a transfer object for operation sent by this application to remote system in SolOutboundMessage.
Opens a Serial over LAN console (IPMI 2.0 section 15) in the session of the client or, when the BMC serves SOL on another UDP port, in a session the client opens there with the same credentials, cipher suite and privilege.
Impementation of ResponseData for SolMessages.
Enumeration of all possible states, that Remote Console can receive from BMC during SOL communication.
The Serial Presence Detect (SPD) data of a memory module, which the FRU device of a DIMM returns instead of an IPMI FRU inventory: the module type, capacity, manufacturer, part number and serial number, decoded from the JEDEC SPD layouts of DDR3 (JEDEC Standard 21-C, annex K), DDR4 (annex L) and DDR5 (JESD400-5) modules.
Implementation of CipherSuiteSelectionHandler that always returns cipher suite provided in the constructor.
Acknowledges starting the session after receiving RAKP Message 4 ( StateMachine transits from Rakp3Complete to SessionValid)
The abstract for state of the StateMachine.
State machine for connecting and acquiring session with the remote host via IPMI v.2.0.
Abstract for external action of the StateMachine
Abstract for an event of the StateMachine.
StateMachineEvent indicating that response for one of the messages in the process of the session challenge did not arrive in time.
Tool class for converting types.
An interface for UdpMessenger listener.
Container for UDP message.
Handles the UDP connection.
The initial state.