internal

package
v1.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 6, 2019 License: GPL-2.0, GPL-2.0-or-later Imports: 7 Imported by: 0

Documentation

Overview

Package contains IPMI 2.0 spec protocol definitions

Package contains IPMI 2.0 spec implementation

Package contains IPMI 2.0 spec protocol definitions

Package contains IPMI 2.0 spec protocol definitions

Package contains IPMI 2.0 spec protocol definitions

Package contains IPMI 2.0 spec protocol definitions

Package contains IPMI 2.0 spec protocol definitions

Package contains IPMI 2.0 spec protocol definitions

Package contains IPMI 2.0 spec protocol definitions

Package contains IPMI 2.0 spec implementation

Package contains IPMI 2.0 spec protocol definitions

Index

Constants

View Source
const (
	IPMI_DEVID_CHASSIS_DEVICE     = (1 << 7)
	IPMI_DEVID_BRIDGE             = (1 << 6)
	IPMI_DEVID_IPMB_EVENT_GEN     = (1 << 5)
	IPMI_DEVID_IPMB_EVENT_RCV     = (1 << 4)
	IPMI_DEVID_FRU_INVENTORY_DEV  = (1 << 3)
	IPMI_DEVID_SEL_DEVICE         = (1 << 2)
	IPMI_DEVID_SDR_REPOSITORY_DEV = (1 << 1)
	IPMI_DEVID_SENSOR_DEV         = (1 << 0)
)

Device_support bits

View Source
const (
	IPMI_SDR_DELETE_SDR_SUPPORTED             = (1 << 3)
	IPMI_SDR_PARTIAL_ADD_SDR_SUPPORTED        = (1 << 2)
	IPMI_SDR_RESERVE_SDR_SUPPORTED            = (1 << 1)
	IPMI_SDR_GET_SDR_ALLOC_INFO_SDR_SUPPORTED = (1 << 0)
)

Main sdr flags

View Source
const (
	CLIENT_RSADDR        = 0x20
	CLIENT_RQADDR        = 0x81
	PLAT_USERNAME        = "ipmiusr"
	MAX_RETRIES          = 3
	INITIAL_OUTBOUND_SEQ = 0x3C2FB505
)
View Source
const (
	USER_BITS_REQ = 6
	USER_MASK     = 0x3f
)
View Source
const (
	SESSION_BITS_REQ = 6 // Bits required to hold a session
	SESSION_MASK     = 0x3f
	MAX_USERS        = 64
	MAX_SESSIONS     = 16
)

Restrictions: <=64 sessions

View Source
const (
	MAX_SDR_LENGTH = 261
	MAX_NUM_SDRS   = 1024
)
View Source
const (
	CHASSIS_NETFN         = 0x00
	BRIDGE_NETFN          = 0x02
	SENSOR_EVENT_NETFN    = 0x04
	APP_NETFN             = 0x06
	FIRMWARE_NETFN        = 0x08
	STORAGE_NETFN         = 0x0a
	TRANSPORT_NETFN       = 0x0c
	GROUP_EXTENSION_NETFN = 0x2c
	OEM_GROUP_NETFN       = 0x2e

	// Chassis netfn (0x00)
	GET_CHASSIS_CAPABILITIES_CMD = 0x00
	CHASSIS_CONTROL_CMD          = 0x02
	CHASSIS_RESET_CMD            = 0x03
	CHASSIS_IDENTIFY_CMD         = 0x04
	SET_CHASSIS_CAPABILITIES_CMD = 0x05
	SET_POWER_RESTORE_POLICY_CMD = 0x06
	GET_SYSTEM_RESTART_CAUSE_CMD = 0x07
	SET_SYSTEM_BOOT_OPTIONS_CMD  = 0x08
	GET_SYSTEM_BOOT_OPTIONS_CMD  = 0x09

	GET_POH_COUNTER_CMD = 0x0f

	// Bridge netfn (0x02)
	GET_BRIDGE_STATE_CMD         = 0x00
	SET_BRIDGE_STATE_CMD         = 0x01
	GET_ICMB_ADDRESS_CMD         = 0x02
	SET_ICMB_ADDRESS_CMD         = 0x03
	SET_BRIDGE_PROXY_ADDRESS_CMD = 0x04
	GET_BRIDGE_STATISTICS_CMD    = 0x05
	GET_ICMB_CAPABILITIES_CMD    = 0x06

	CLEAR_BRIDGE_STATISTICS_CMD  = 0x08
	GET_BRIDGE_PROXY_ADDRESS_CMD = 0x09
	GET_ICMB_CONNECTOR_INFO_CMD  = 0x0a
	SET_ICMB_CONNECTOR_INFO_CMD  = 0x0b
	SEND_ICMB_CONNECTION_ID_CMD  = 0x0c

	PREPARE_FOR_DISCOVERY_CMD = 0x10
	GET_ADDRESSES_CMD         = 0x11
	SET_DISCOVERED_CMD        = 0x12
	GET_CHASSIS_DEVICE_ID_CMD = 0x13
	SET_CHASSIS_DEVICE_ID_CMD = 0x14

	BRIDGE_REQUEST_CMD = 0x20
	BRIDGE_MESSAGE_CMD = 0x21

	GET_EVENT_COUNT_CMD           = 0x30
	SET_EVENT_DESTINATION_CMD     = 0x31
	SET_EVENT_RECEPTION_STATE_CMD = 0x32
	SEND_ICMB_EVENT_MESSAGE_CMD   = 0x33
	GET_EVENT_DESTIATION_CMD      = 0x34
	GET_EVENT_RECEPTION_STATE_CMD = 0x35

	ERROR_REPORT_CMD = 0xff

	// Sensor/Event netfn (0x04)
	SET_EVENT_RECEIVER_CMD = 0x00
	GET_EVENT_RECEIVER_CMD = 0x01
	PLATFORM_EVENT_CMD     = 0x02

	GET_PEF_CAPABILITIES_CMD        = 0x10
	ARM_PEF_POSTPONE_TIMER_CMD      = 0x11
	SET_PEF_CONFIG_PARMS_CMD        = 0x12
	GET_PEF_CONFIG_PARMS_CMD        = 0x13
	SET_LAST_PROCESSED_EVENT_ID_CMD = 0x14
	GET_LAST_PROCESSED_EVENT_ID_CMD = 0x15
	ALERT_IMMEDIATE_CMD             = 0x16
	PET_ACKNOWLEDGE_CMD             = 0x17

	GET_DEVICE_SDR_INFO_CMD           = 0x20
	GET_DEVICE_SDR_CMD                = 0x21
	RESERVE_DEVICE_SDR_REPOSITORY_CMD = 0x22
	GET_SENSOR_READING_FACTORS_CMD    = 0x23
	SET_SENSOR_HYSTERESIS_CMD         = 0x24
	GET_SENSOR_HYSTERESIS_CMD         = 0x25
	SET_SENSOR_THRESHOLD_CMD          = 0x26
	GET_SENSOR_THRESHOLD_CMD          = 0x27
	SET_SENSOR_EVENT_ENABLE_CMD       = 0x28
	GET_SENSOR_EVENT_ENABLE_CMD       = 0x29
	REARM_SENSOR_EVENTS_CMD           = 0x2a
	GET_SENSOR_EVENT_STATUS_CMD       = 0x2b
	GET_SENSOR_READING_CMD            = 0x2d
	SET_SENSOR_TYPE_CMD               = 0x2e
	GET_SENSOR_TYPE_CMD               = 0x2f

	// App netfn (0x06)
	GET_DEVICE_ID_CMD                 = 0x01
	COLD_RESET_CMD                    = 0x02
	WARM_RESET_CMD                    = 0x03
	GET_SELF_TEST_RESULTS_CMD         = 0x04
	MANUFACTURING_TEST_ON_CMD         = 0x05
	SET_ACPI_POWER_STATE_CMD          = 0x06
	GET_ACPI_POWER_STATE_CMD          = 0x07
	GET_DEVICE_GUID_CMD               = 0x08
	RESET_WATCHDOG_TIMER_CMD          = 0x22
	SET_WATCHDOG_TIMER_CMD            = 0x24
	GET_WATCHDOG_TIMER_CMD            = 0x25
	SET_BMC_GLOBAL_ENABLES_CMD        = 0x2e
	GET_BMC_GLOBAL_ENABLES_CMD        = 0x2f
	CLEAR_MSG_FLAGS_CMD               = 0x30
	GET_MSG_FLAGS_CMD                 = 0x31
	ENABLE_MESSAGE_CHANNEL_RCV_CMD    = 0x32
	GET_MSG_CMD                       = 0x33
	SEND_MSG_CMD                      = 0x34
	READ_EVENT_MSG_BUFFER_CMD         = 0x35
	GET_BT_INTERFACE_CAPABILITIES_CMD = 0x36
	GET_SYSTEM_GUID_CMD               = 0x37
	GET_CHANNEL_AUTH_CAPABILITIES_CMD = 0x38
	GET_SESSION_CHALLENGE_CMD         = 0x39
	ACTIVATE_SESSION_CMD              = 0x3a
	SET_SESSION_PRIVILEGE_CMD         = 0x3b
	CLOSE_SESSION_CMD                 = 0x3c
	GET_SESSION_INFO_CMD              = 0x3d

	GET_AUTHCODE_CMD                  = 0x3f
	SET_CHANNEL_ACCESS_CMD            = 0x40
	GET_CHANNEL_ACCESS_CMD            = 0x41
	GET_CHANNEL_INFO_CMD              = 0x42
	SET_USER_ACCESS_CMD               = 0x43
	GET_USER_ACCESS_CMD               = 0x44
	SET_USER_NAME_CMD                 = 0x45
	GET_USER_NAME_CMD                 = 0x46
	SET_USER_PASSWORD_CMD             = 0x47
	ACTIVATE_PAYLOAD_CMD              = 0x48
	DEACTIVATE_PAYLOAD_CMD            = 0x49
	GET_PAYLOAD_ACTIVATION_STATUS_CMD = 0x4a
	GET_PAYLOAD_INSTANCE_INFO_CMD     = 0x4b
	SET_USER_PAYLOAD_ACCESS_CMD       = 0x4c
	GET_USER_PAYLOAD_ACCESS_CMD       = 0x4d
	GET_CHANNEL_PAYLOAD_SUPPORT_CMD   = 0x4e
	GET_CHANNEL_PAYLOAD_VERSION_CMD   = 0x4f
	GET_CHANNEL_OEM_PAYLOAD_INFO_CMD  = 0x50

	MASTER_READ_WRITE_CMD = 0x52

	GET_CHANNEL_CIPHER_SUITES_CMD         = 0x54
	SUSPEND_RESUME_PAYLOAD_ENCRYPTION_CMD = 0x55
	SET_CHANNEL_SECURITY_KEY_CMD          = 0x56
	GET_SYSTEM_INTERFACE_CAPABILITIES_CMD = 0x57

	// Storage netfn (0x0a)
	GET_FRU_INVENTORY_AREA_INFO_CMD = 0x10
	READ_FRU_DATA_CMD               = 0x11
	WRITE_FRU_DATA_CMD              = 0x12

	GET_SDR_REPOSITORY_INFO_CMD       = 0x20
	GET_SDR_REPOSITORY_ALLOC_INFO_CMD = 0x21
	RESERVE_SDR_REPOSITORY_CMD        = 0x22
	GET_SDR_CMD                       = 0x23
	ADD_SDR_CMD                       = 0x24
	PARTIAL_ADD_SDR_CMD               = 0x25
	DELETE_SDR_CMD                    = 0x26
	CLEAR_SDR_REPOSITORY_CMD          = 0x27
	GET_SDR_REPOSITORY_TIME_CMD       = 0x28
	SET_SDR_REPOSITORY_TIME_CMD       = 0x29
	ENTER_SDR_REPOSITORY_UPDATE_CMD   = 0x2a
	EXIT_SDR_REPOSITORY_UPDATE_CMD    = 0x2b
	RUN_INITIALIZATION_AGENT_CMD      = 0x2c

	GET_SEL_INFO_CMD             = 0x40
	GET_SEL_ALLOCATION_INFO_CMD  = 0x41
	RESERVE_SEL_CMD              = 0x42
	GET_SEL_ENTRY_CMD            = 0x43
	ADD_SEL_ENTRY_CMD            = 0x44
	PARTIAL_ADD_SEL_ENTRY_CMD    = 0x45
	DELETE_SEL_ENTRY_CMD         = 0x46
	CLEAR_SEL_CMD                = 0x47
	GET_SEL_TIME_CMD             = 0x48
	SET_SEL_TIME_CMD             = 0x49
	GET_AUXILIARY_LOG_STATUS_CMD = 0x5a
	SET_AUXILIARY_LOG_STATUS_CMD = 0x5b

	// Transport netfn (0x0c)
	SET_LAN_CONFIG_PARMS_CMD  = 0x01
	GET_LAN_CONFIG_PARMS_CMD  = 0x02
	SUSPEND_BMC_ARPS_CMD      = 0x03
	GET_IP_UDP_RMCP_STATS_CMD = 0x04

	SET_SERIAL_MODEM_CONFIG_CMD     = 0x10
	GET_SERIAL_MODEM_CONFIG_CMD     = 0x11
	SET_SERIAL_MODEM_MUX_CMD        = 0x12
	GET_TAP_RESPONSE_CODES_CMD      = 0x13
	SET_PPP_UDP_PROXY_XMIT_DATA_CMD = 0x14
	GET_PPP_UDP_PROXY_XMIT_DATA_CMD = 0x15
	SEND_PPP_UDP_PROXY_PACKET_CMD   = 0x16
	GET_PPP_UDP_PROXY_RECV_DATA_CMD = 0x17
	SERIAL_MODEM_CONN_ACTIVE_CMD    = 0x18
	CALLBACK_CMD                    = 0x19
	SET_USER_CALLBACK_OPTIONS_CMD   = 0x1a
	GET_USER_CALLBACK_OPTIONS_CMD   = 0x1b

	SOL_ACTIVATING_CMD               = 0x20
	SET_SOL_CONFIGURATION_PARAMETERS = 0x21
	GET_SOL_CONFIGURATION_PARAMETERS = 0x22
)

NetFNs

View Source
const (
	IPMI_NODE_BUSY_CC                      = 0xC0
	IPMI_INVALID_CMD_CC                    = 0xC1
	IPMI_COMMAND_INVALID_FOR_LUN_CC        = 0xC2
	IPMI_TIMEOUT_CC                        = 0xC3
	IPMI_OUT_OF_SPACE_CC                   = 0xC4
	IPMI_INVALID_RESERVATION_CC            = 0xC5
	IPMI_REQUEST_DATA_TRUNCATED_CC         = 0xC6
	IPMI_REQUEST_DATA_LENGTH_INVALID_CC    = 0xC7
	IPMI_REQUESTED_DATA_LENGTH_EXCEEDED_CC = 0xC8
	IPMI_PARAMETER_OUT_OF_RANGE_CC         = 0xC9
	IPMI_CANNOT_RETURN_REQ_LENGTH_CC       = 0xCA
	IPMI_NOT_PRESENT_CC                    = 0xCB
	IPMI_INVALID_DATA_FIELD_CC             = 0xCC
	IPMI_COMMAND_ILLEGAL_FOR_SENSOR_CC     = 0xCD
	IPMI_COULD_NOT_PROVIDE_RESPONSE_CC     = 0xCE
	IPMI_CANNOT_EXEC_DUPLICATE_REQUEST_CC  = 0xCF
	IPMI_REPOSITORY_IN_UPDATE_MODE_CC      = 0xD0
	IPMI_DEVICE_IN_FIRMWARE_UPDATE_CC      = 0xD1
	IPMI_BMC_INIT_IN_PROGRESS_CC           = 0xD2
	IPMI_DESTINATION_UNAVAILABLE_CC        = 0xD3
	IPMI_INSUFFICIENT_PRIVILEGE_CC         = 0xD4
	IPMI_NOT_SUPPORTED_IN_PRESENT_STATE_CC = 0xD5
	IPMI_UNKNOWN_ERR_CC                    = 0xff
)

Completion codes for IPMI.

View Source
const (
	IPMI_AUTHTYPE_NONE      = 0
	IPMI_AUTHTYPE_MD2       = 1
	IPMI_AUTHTYPE_MD5       = 2
	IPMI_AUTHTYPE_STRAIGHT  = 4
	IPMI_AUTHTYPE_OEM       = 5
	IPMI_AUTHTYPE_RMCP_PLUS = 6
)

IPMI authentication types

View Source
const (
	IPMI_PRIVILEGE_CALLBACK = 1
	IPMI_PRIVILEGE_USER     = 2
	IPMI_PRIVILEGE_OPERATOR = 3
	IPMI_PRIVILEGE_ADMIN    = 4
	IPMI_PRIVILEGE_OEM      = 5
)

IPMI privilege levels

View Source
const ASF_IANA = 4542
View Source
const (
	MAX_MSG_RETURN_DATA = 1000
)

Variables

View Source
var Signaled = func() bool { return false }

Functions

func Ipmigod

func Ipmigod(mmCardMode bool, cardNum int)

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL