modulepackage
0.0.0-20250301161613-f814782ff2cc
Repository: https://github.com/gebn/bmc.git
Documentation: pkg.go.dev
# README
Baseboard Management Controller Remote Console
This project implements an IPMI v2.0 remote console in pure Go, to interact with BMCs.
Specifications
All section references in the code use the following documents:
Contributing
Contributions in the form of bug reports and PRs are greatly appreciated.
Please see CONTRIBUTING.md
for a few guidelines.
# Functions
Dial is currently an alias for DialV2.
DialV2 establishes a new IPMI v2.0 connection with the supplied BMC.
FirmwareVersion builds a firmware version string using all information available in the Get Device ID response.
NewSensorReader returns an appropriate SensorReader implementation for a given SDR.
RetrieveSDRRepository enumerates all Full Sensor Records in the BMC's SDR Repository.
RetrieveSupportedCipherSuites queries an IPMI v2.0 connection for cipher suites that can be used to establish a session.
ValidateResponse is a helper to remove some boilerplate error handling from SendCommand() calls.
No description provided by the author
# Variables
No description provided by the author
No description provided by the author
ErrSensorReadingUnavailable is returned when the BMC sets the "reading/state unavailable" flag in the Get Sensor Reading response.
ErrSensorScanningDisabled is returned when the BMC sets the "sensor scanning disabled" flag in the Get Sensor Reading response.
# Structs
SessionOpts contains session-establishment options common to IPMI v1.5 and 2.0.
V2Session represents an established IPMI v2.0/RMCP+ session with a BMC.
V2Sessionless represents a session-less connection to a BMC using a "null" IPMI v2.0 session wrapper.
V2SessionlessTransport is a session-less connection to a BMC using an IPMI v2.0/RMCP+ session wrapper, along with its underlying transport.
V2SessionOpts contains configurable parameters for RMCP+ session establishment.
# Interfaces
AdditionalKeyMaterialGenerator is satisfied by types that can produce key material derived from the Session Integrity Key, as defined in section 13.32 of IPMI v2.0.
Connection is an IPMI v1.5 or v2.0 session-less, single-session or multi-session connection.
SensorReader is implemented by types that can read the current value of a sensor.
Session is an established session-based IPMI v1.5 or 2.0 connection.
SessionCommands contains high-level wrappers for sending commands within an established session.
Sessionless is a session-less IPMI v1.5 or 2.0 connection.
SessionlessCommands contains high-level methods to issue commands that do not require a session, but can be sent using one.
SessionlessTransport represents a session-less IPMI v1.5 or v2.0 LAN connection, its underlying transport, and a means of creating a new session using that transport.
# Type aliases
No description provided by the author
SDRRepository is a retrieved SDR Repository.