Documentation
¶
Index ¶
- Constants
- Variables
- func AllCC(cmd Command) map[uint8]string
- func AnalogValue(raw uint8, format SensorAnalogUnitFormat) int32
- func Array16(s []byte) [16]byte
- func BCDUint8(i uint8) uint8
- func CheckDCMIGroupExenstionMatch(grpExt uint8) error
- func ClearBit0(b uint8) uint8
- func ClearBit1(b uint8) uint8
- func ClearBit2(b uint8) uint8
- func ClearBit3(b uint8) uint8
- func ClearBit4(b uint8) uint8
- func ClearBit5(b uint8) uint8
- func ClearBit6(b uint8) uint8
- func ClearBit7(b uint8) uint8
- func CommandSpecificCC(cmd Command) map[uint8]string
- func ConvertReading(raw uint8, analogDataFormat SensorAnalogUnitFormat, factors ReadingFactors, ...) float64
- func ConvertSensorHysteresis(raw uint8, analogDataFormat SensorAnalogUnitFormat, factors ReadingFactors, ...) float64
- func ConvertSensorTolerance(raw uint8, analogDataFormat SensorAnalogUnitFormat, factors ReadingFactors, ...) float64
- func ErrDCMIGroupExtensionIDMismatchWith(expected uint8, actual uint8) error
- func ErrNotEnoughDataWith(msg string, actual int, expected int) error
- func ErrUnpackedDataTooShortWith(actual int, expected int) error
- func FRUFieldString(tl TypeLength, raw []byte) string
- func FormatBool(b bool, trueStr string, falseStr string) string
- func FormatEventFilters(eventFilters []*PEFEventFilter) string
- func FormatGUIDDetails(guid [16]byte) string
- func FormatPEFAlertPolicyTable(alertPolicies []*PEFAlertPolicy) string
- func FormatSDRs(records []*SDR) string
- func FormatSDRsStream(seq iter.Seq[*Result[SDR]]) error
- func FormatSDRsStream_FRU(seq iter.Seq[*Result[SDR]]) error
- func FormatSDRs_FRU(records []*SDR) string
- func FormatSELs(records []*SEL, sdrMap SDRMapBySensorNumber) string
- func FormatSELsStream(seq iter.Seq[*Result[SEL]], sdrMap SDRMapBySensorNumber) error
- func FormatSensors(extended bool, sensors ...*Sensor) string
- func FormatSensorsStream(extended bool, seq iter.Seq[*Result[Sensor]]) error
- func GetCipherSuiteAlgorithms(cipherSuiteID CipherSuiteID) (authAlg AuthAlg, integrity IntegrityAlg, encryptionAlg CryptAlg, ok bool)
- func IPMILegacyGUIDTime(u *uuid.UUID) time.Time
- func IntegrityPadLen(sessionHeaderLen, payloadLen int) int
- func IsBit0Set(b uint8) bool
- func IsBit1Set(b uint8) bool
- func IsBit2Set(b uint8) bool
- func IsBit3Set(b uint8) bool
- func IsBit4Set(b uint8) bool
- func IsBit5Set(b uint8) bool
- func IsBit6Set(b uint8) bool
- func IsBit7Set(b uint8) bool
- func IsNilBootOptionParameter(param BootOptionParameter) bool
- func IsNilDCMICapParameter(param DCMICapParameter) bool
- func IsNilDCMIConfigParameter(param DCMIConfigParameter) bool
- func IsNilLanConfigParameter(param LanConfigParameter) bool
- func IsNilPEFConfigParameter(param PEFConfigParameter) bool
- func IsNilSOLConfigParameter(param SOLConfigParameter) bool
- func IsNilSystemInfoParamete(param SystemInfoParameter) bool
- func OneSComplement(i uint32, bitSize uint8) int32
- func OneSComplementEncode(i int32, bitSize uint8) uint32
- func PackBytes(v []byte, msg []byte, off int) (int, error)
- func PackCompactSensor(opts CompactSensorPackOpts) []byte
- func PackFRU(cfg FRUPackConfig) ([]byte, error)
- func PackFRUInventory(fru *FRU) ([]byte, error)
- func PackMCLocator(opts MCLocatorPackOpts) []byte
- func PackMultiRecords(records []*FRUMultiRecord) []byte
- func PackSDR(sdr *SDR) ([]byte, error)
- func PackUint8(i uint8, msg []byte, off int) (int, error)
- func PackUint16(i uint16, msg []byte, off int) (int, error)
- func PackUint16L(i uint16, msg []byte, off int) (int, error)
- func PackUint24(i uint32, msg []byte, off int) (int, error)
- func PackUint24L(i uint32, msg []byte, off int) (int, error)
- func PackUint32(i uint32, msg []byte, off int) (int, error)
- func PackUint32L(i uint32, msg []byte, off int) (int, error)
- func PackUint48(i uint64, msg []byte, off int) (int, error)
- func PackUint48L(i uint64, msg []byte, off int) (int, error)
- func PackUint64(i uint64, msg []byte, off int) (int, error)
- func PackUint64L(i uint64, msg []byte, off int) (int, error)
- func PadBytes(s string, width int, pad byte) []byte
- func ParseGUID(data []byte, guidMode GUIDMode) (*uuid.UUID, error)
- func ParseTimestamp(timestamp uint32) time.Time
- func RandomBytes(n int) []byte
- func RenderTable(headers []string, rows []map[string]string) string
- func RenderTableStream(headers []string, rowSeq iter.Seq[map[string]string]) error
- func SetBit0(b uint8) uint8
- func SetBit1(b uint8) uint8
- func SetBit2(b uint8) uint8
- func SetBit3(b uint8) uint8
- func SetBit4(b uint8) uint8
- func SetBit5(b uint8) uint8
- func SetBit6(b uint8) uint8
- func SetBit7(b uint8) uint8
- func SetOrClearBit0(b uint8, cond bool) uint8
- func SetOrClearBit1(b uint8, cond bool) uint8
- func SetOrClearBit2(b uint8, cond bool) uint8
- func SetOrClearBit3(b uint8, cond bool) uint8
- func SetOrClearBit4(b uint8, cond bool) uint8
- func SetOrClearBit5(b uint8, cond bool) uint8
- func SetOrClearBit6(b uint8, cond bool) uint8
- func SetOrClearBit7(b uint8, cond bool) uint8
- func SplitSDRDump(data []byte) map[uint16][]byte
- func StrCC(cmd Command, ccode uint8) string
- func TwoSComplement(i uint32, bitSize uint8) int32
- func TwoSComplementEncode(i int32, bitSize uint8) uint32
- func UUIDVersionString(u *uuid.UUID) string
- func UnpackBytes(msg []byte, off int, length int) ([]byte, int, error)
- func UnpackBytesMost(msg []byte, off int, length int) ([]byte, int, error)
- func UnpackUint8(msg []byte, off int) (uint8, int, error)
- func UnpackUint16(msg []byte, off int) (uint16, int, error)
- func UnpackUint16L(msg []byte, off int) (uint16, int, error)
- func UnpackUint24(msg []byte, off int) (uint32, int, error)
- func UnpackUint24L(msg []byte, off int) (uint32, int, error)
- func UnpackUint32(msg []byte, off int) (uint32, int, error)
- func UnpackUint32L(msg []byte, off int) (uint32, int, error)
- func UnpackUint48(msg []byte, off int) (uint64, int, error)
- func UnpackUint48L(msg []byte, off int) (uint64, int, error)
- func UnpackUint64(msg []byte, off int) (uint64, int, error)
- func UnpackUint64L(msg []byte, off int) (uint64, int, error)
- type ASF
- type AuthAlg
- type AuthType
- type AuthTypesEnabled
- type BIOSBootType
- type BIOSMuxControl
- type BIOSVerbosity
- type BoardType
- type BootDeviceSelector
- type BootInfoAcknowledgeBy
- type BootOptionParamSelector
- type BootOptionParam_BMCBootFlagValidBitClear
- func (p *BootOptionParam_BMCBootFlagValidBitClear) BootOptionParameter() (paramSelector BootOptionParamSelector, setSelector uint8, blockSelector uint8)
- func (p *BootOptionParam_BMCBootFlagValidBitClear) Format() string
- func (p *BootOptionParam_BMCBootFlagValidBitClear) Pack() []byte
- func (p *BootOptionParam_BMCBootFlagValidBitClear) Unpack(parameterData []byte) error
- type BootOptionParam_BootFlags
- func (p *BootOptionParam_BootFlags) BootOptionParameter() (paramSelector BootOptionParamSelector, setSelector uint8, blockSelector uint8)
- func (p *BootOptionParam_BootFlags) Format() string
- func (bootFlags *BootOptionParam_BootFlags) OptionsHelp() string
- func (p *BootOptionParam_BootFlags) Pack() []byte
- func (bootFlags *BootOptionParam_BootFlags) ParseFromOptions(options []string) error
- func (bootFlags *BootOptionParam_BootFlags) ParseFromOptionsStr(optionsStr string) error
- func (p *BootOptionParam_BootFlags) Unpack(parameterData []byte) error
- type BootOptionParam_BootInfoAcknowledge
- func (p *BootOptionParam_BootInfoAcknowledge) BootOptionParameter() (paramSelector BootOptionParamSelector, setSelector uint8, blockSelector uint8)
- func (p *BootOptionParam_BootInfoAcknowledge) Format() string
- func (p *BootOptionParam_BootInfoAcknowledge) Pack() []byte
- func (p *BootOptionParam_BootInfoAcknowledge) Unpack(parameterData []byte) error
- type BootOptionParam_BootInitiatorInfo
- func (p *BootOptionParam_BootInitiatorInfo) BootOptionParameter() (paramSelector BootOptionParamSelector, setSelector uint8, blockSelector uint8)
- func (p *BootOptionParam_BootInitiatorInfo) Format() string
- func (p *BootOptionParam_BootInitiatorInfo) Pack() []byte
- func (p *BootOptionParam_BootInitiatorInfo) Unpack(parameterData []byte) error
- type BootOptionParam_BootInitiatorMailbox
- func (p *BootOptionParam_BootInitiatorMailbox) BootOptionParameter() (paramSelector BootOptionParamSelector, setSelector uint8, blockSelector uint8)
- func (p *BootOptionParam_BootInitiatorMailbox) Format() string
- func (p *BootOptionParam_BootInitiatorMailbox) Pack() []byte
- func (p *BootOptionParam_BootInitiatorMailbox) Unpack(parameterData []byte) error
- type BootOptionParam_ServicePartitionScan
- func (p *BootOptionParam_ServicePartitionScan) BootOptionParameter() (paramSelector BootOptionParamSelector, setSelector uint8, blockSelector uint8)
- func (p BootOptionParam_ServicePartitionScan) Format() string
- func (p *BootOptionParam_ServicePartitionScan) Pack() []byte
- func (p *BootOptionParam_ServicePartitionScan) Unpack(paramData []byte) error
- type BootOptionParam_ServicePartitionSelector
- func (p *BootOptionParam_ServicePartitionSelector) BootOptionParameter() (paramSelector BootOptionParamSelector, setSelector uint8, blockSelector uint8)
- func (p *BootOptionParam_ServicePartitionSelector) Format() string
- func (p *BootOptionParam_ServicePartitionSelector) Pack() []byte
- func (p *BootOptionParam_ServicePartitionSelector) Unpack(paramData []byte) error
- type BootOptionParam_SetInProgress
- func (p *BootOptionParam_SetInProgress) BootOptionParameter() (paramSelector BootOptionParamSelector, setSelector uint8, blockSelector uint8)
- func (p *BootOptionParam_SetInProgress) Format() string
- func (p *BootOptionParam_SetInProgress) Pack() []byte
- func (p *BootOptionParam_SetInProgress) Unpack(paramData []byte) error
- type BootOptionParameter
- type BootOptionsParams
- type Channel
- type ChannelAccessMode
- type ChannelAccessOption
- type ChannelInfo
- type ChannelMedium
- type ChannelPrivilegeOption
- type ChannelProtocol
- type ChassisSecurityStatus
- type ChassisState
- type ChassisType
- type CipherSuiteID
- type CipherSuiteRecord
- type Command
- type CommandKey
- type CommunityString
- type CompactSensorPackOpts
- type CompletionCode
- type ConsoleRedirectionControl
- type CryptAlg
- type DCMICapParamSelector
- type DCMICapParam_EnhancedSystemPowerStatisticsAttributes
- func (param *DCMICapParam_EnhancedSystemPowerStatisticsAttributes) DCMICapParameter() DCMICapParamSelector
- func (param *DCMICapParam_EnhancedSystemPowerStatisticsAttributes) Format() string
- func (param *DCMICapParam_EnhancedSystemPowerStatisticsAttributes) Pack() []byte
- func (param *DCMICapParam_EnhancedSystemPowerStatisticsAttributes) Unpack(paramData []byte) error
- type DCMICapParam_ManageabilityAccessAttributes
- func (param *DCMICapParam_ManageabilityAccessAttributes) DCMICapParameter() DCMICapParamSelector
- func (param *DCMICapParam_ManageabilityAccessAttributes) Format() string
- func (param *DCMICapParam_ManageabilityAccessAttributes) Pack() []byte
- func (param *DCMICapParam_ManageabilityAccessAttributes) Unpack(paramData []byte) error
- type DCMICapParam_MandatoryPlatformAttributes
- func (param *DCMICapParam_MandatoryPlatformAttributes) DCMICapParameter() DCMICapParamSelector
- func (param *DCMICapParam_MandatoryPlatformAttributes) Format() string
- func (param *DCMICapParam_MandatoryPlatformAttributes) Pack() []byte
- func (param *DCMICapParam_MandatoryPlatformAttributes) Unpack(paramData []byte) error
- type DCMICapParam_OptionalPlatformAttributes
- func (param *DCMICapParam_OptionalPlatformAttributes) DCMICapParameter() DCMICapParamSelector
- func (param *DCMICapParam_OptionalPlatformAttributes) Format() string
- func (param *DCMICapParam_OptionalPlatformAttributes) Pack() []byte
- func (param *DCMICapParam_OptionalPlatformAttributes) Unpack(paramData []byte) error
- type DCMICapParam_SupportedDCMICapabilities
- func (param *DCMICapParam_SupportedDCMICapabilities) DCMICapParameter() DCMICapParamSelector
- func (param *DCMICapParam_SupportedDCMICapabilities) Format() string
- func (param *DCMICapParam_SupportedDCMICapabilities) Pack() []byte
- func (param *DCMICapParam_SupportedDCMICapabilities) Unpack(paramData []byte) error
- type DCMICapParameter
- type DCMICapParams
- type DCMIConfigParamSelector
- type DCMIConfigParam_ActivateDHCP
- func (param *DCMIConfigParam_ActivateDHCP) DCMIConfigParameter() (paramSelector DCMIConfigParamSelector, setSelector uint8)
- func (param *DCMIConfigParam_ActivateDHCP) Format() string
- func (param *DCMIConfigParam_ActivateDHCP) Pack() []byte
- func (param *DCMIConfigParam_ActivateDHCP) Unpack(paramData []byte) error
- type DCMIConfigParam_DHCPTiming1
- func (param *DCMIConfigParam_DHCPTiming1) DCMIConfigParameter() (paramSelector DCMIConfigParamSelector, setSelector uint8)
- func (param *DCMIConfigParam_DHCPTiming1) Format() string
- func (param *DCMIConfigParam_DHCPTiming1) Pack() []byte
- func (param *DCMIConfigParam_DHCPTiming1) Unpack(paramData []byte) error
- type DCMIConfigParam_DHCPTiming2
- func (param *DCMIConfigParam_DHCPTiming2) DCMIConfigParameter() (paramSelector DCMIConfigParamSelector, setSelector uint8)
- func (param *DCMIConfigParam_DHCPTiming2) Format() string
- func (param *DCMIConfigParam_DHCPTiming2) Pack() []byte
- func (param *DCMIConfigParam_DHCPTiming2) Unpack(paramData []byte) error
- type DCMIConfigParam_DHCPTiming3
- func (param *DCMIConfigParam_DHCPTiming3) DCMIConfigParameter() (paramSelector DCMIConfigParamSelector, setSelector uint8)
- func (param *DCMIConfigParam_DHCPTiming3) Format() string
- func (param *DCMIConfigParam_DHCPTiming3) Pack() []byte
- func (param *DCMIConfigParam_DHCPTiming3) Unpack(paramData []byte) error
- type DCMIConfigParam_DiscoveryConfiguration
- func (param *DCMIConfigParam_DiscoveryConfiguration) DCMIConfigParameter() (paramSelector DCMIConfigParamSelector, setSelector uint8)
- func (param *DCMIConfigParam_DiscoveryConfiguration) Format() string
- func (param *DCMIConfigParam_DiscoveryConfiguration) Pack() []byte
- func (param *DCMIConfigParam_DiscoveryConfiguration) Unpack(paramData []byte) error
- type DCMIConfigParameter
- type DCMIConfigParams
- type DCMIExceptionAction
- type DeviceType
- type EntityID
- type EntityInstance
- type Event
- type EventData
- type EventDir
- type EventReadingType
- func (typ EventReadingType) Event(sensorType SensorType, eventData EventData) *Event
- func (typ EventReadingType) EventForOffset(sensorType SensorType, eventOffset uint8) *Event
- func (typ EventReadingType) EventSeverity(sensorType SensorType, eventData EventData, eventDir EventDir) EventSeverity
- func (typ EventReadingType) EventString(sensorType SensorType, eventData EventData) string
- func (typ EventReadingType) IsThreshold() bool
- func (typ EventReadingType) SensorClass() SensorClass
- func (typ EventReadingType) String() string
- type EventSeverity
- type FRU
- type FRUBoardInfoArea
- type FRUChassisInfoArea
- type FRUCommonHeader
- type FRUField
- type FRUInternalUseArea
- type FRULocation
- type FRUMultiRecord
- type FRUPackBoard
- type FRUPackChassis
- type FRUPackConfig
- type FRUPackProduct
- type FRUProductInfoArea
- type FRURecordType
- type FRURecordTypeBaseCompatibility
- type FRURecordTypeDCLoad
- type FRURecordTypeDCOutput
- type FRURecordTypeExtendedCompatibilityRecord
- type FRURecordTypeExtendedDCLoad
- type FRURecordTypeExtendedDCOutput
- type FRURecordTypeManagementAccess
- type FRURecordTypeOEM
- type FRURecordTypePowerSupply
- type GUIDMode
- type GeneratorID
- type I2CAddress7Bit
- type I2CAddress8Bit
- type IPMIRequest
- type IPMIResponse
- type IntegrityAlg
- type LUN
- type LanConfig
- type LanConfigParamSelector
- type LanConfigParam_ARPControl
- func (param *LanConfigParam_ARPControl) Format() string
- func (param *LanConfigParam_ARPControl) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_ARPControl) Pack() []byte
- func (param *LanConfigParam_ARPControl) Unpack(data []byte) error
- type LanConfigParam_AlertDestinationAddress
- func (param *LanConfigParam_AlertDestinationAddress) Format() string
- func (param *LanConfigParam_AlertDestinationAddress) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_AlertDestinationAddress) Pack() []byte
- func (param *LanConfigParam_AlertDestinationAddress) Unpack(data []byte) error
- type LanConfigParam_AlertDestinationType
- func (param *LanConfigParam_AlertDestinationType) Format() string
- func (param *LanConfigParam_AlertDestinationType) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_AlertDestinationType) Pack() []byte
- func (param *LanConfigParam_AlertDestinationType) Unpack(data []byte) error
- type LanConfigParam_AlertDestinationVLAN
- func (param *LanConfigParam_AlertDestinationVLAN) Format() string
- func (param *LanConfigParam_AlertDestinationVLAN) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_AlertDestinationVLAN) Pack() []byte
- func (param *LanConfigParam_AlertDestinationVLAN) Unpack(data []byte) error
- type LanConfigParam_AlertDestinationsCount
- func (param *LanConfigParam_AlertDestinationsCount) Format() string
- func (param *LanConfigParam_AlertDestinationsCount) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_AlertDestinationsCount) Pack() []byte
- func (param *LanConfigParam_AlertDestinationsCount) Unpack(data []byte) error
- type LanConfigParam_AuthTypeEnables
- func (param *LanConfigParam_AuthTypeEnables) Format() string
- func (param *LanConfigParam_AuthTypeEnables) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_AuthTypeEnables) Pack() []byte
- func (param *LanConfigParam_AuthTypeEnables) Unpack(data []byte) error
- type LanConfigParam_AuthTypeSupport
- func (param *LanConfigParam_AuthTypeSupport) Format() string
- func (param *LanConfigParam_AuthTypeSupport) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_AuthTypeSupport) Pack() []byte
- func (param *LanConfigParam_AuthTypeSupport) Unpack(data []byte) error
- type LanConfigParam_BackupGatewayIP
- func (param *LanConfigParam_BackupGatewayIP) Format() string
- func (param *LanConfigParam_BackupGatewayIP) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_BackupGatewayIP) Pack() []byte
- func (param *LanConfigParam_BackupGatewayIP) Unpack(data []byte) error
- type LanConfigParam_BackupGatewayMAC
- func (param *LanConfigParam_BackupGatewayMAC) Format() string
- func (param *LanConfigParam_BackupGatewayMAC) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_BackupGatewayMAC) Pack() []byte
- func (param *LanConfigParam_BackupGatewayMAC) Unpack(data []byte) error
- type LanConfigParam_BadPasswordThreshold
- func (param *LanConfigParam_BadPasswordThreshold) Format() string
- func (param *LanConfigParam_BadPasswordThreshold) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_BadPasswordThreshold) Pack() []byte
- func (param *LanConfigParam_BadPasswordThreshold) Unpack(data []byte) error
- type LanConfigParam_CipherSuitesID
- func (param *LanConfigParam_CipherSuitesID) Format() string
- func (param *LanConfigParam_CipherSuitesID) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_CipherSuitesID) Pack() []byte
- func (param *LanConfigParam_CipherSuitesID) Unpack(data []byte) error
- type LanConfigParam_CipherSuitesPrivLevel
- func (param *LanConfigParam_CipherSuitesPrivLevel) Format() string
- func (param *LanConfigParam_CipherSuitesPrivLevel) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_CipherSuitesPrivLevel) Pack() []byte
- func (param *LanConfigParam_CipherSuitesPrivLevel) Unpack(data []byte) error
- type LanConfigParam_CipherSuitesSupport
- func (param *LanConfigParam_CipherSuitesSupport) Format() string
- func (param *LanConfigParam_CipherSuitesSupport) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_CipherSuitesSupport) Pack() []byte
- func (param *LanConfigParam_CipherSuitesSupport) Unpack(data []byte) error
- type LanConfigParam_CommunityString
- func (param *LanConfigParam_CommunityString) Format() string
- func (param *LanConfigParam_CommunityString) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_CommunityString) Pack() []byte
- func (param *LanConfigParam_CommunityString) Unpack(data []byte) error
- type LanConfigParam_DefaultGatewayIP
- func (param *LanConfigParam_DefaultGatewayIP) Format() string
- func (param *LanConfigParam_DefaultGatewayIP) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_DefaultGatewayIP) Pack() []byte
- func (param *LanConfigParam_DefaultGatewayIP) Unpack(data []byte) error
- type LanConfigParam_DefaultGatewayMAC
- func (param *LanConfigParam_DefaultGatewayMAC) Format() string
- func (param *LanConfigParam_DefaultGatewayMAC) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_DefaultGatewayMAC) Pack() []byte
- func (param *LanConfigParam_DefaultGatewayMAC) Unpack(data []byte) error
- type LanConfigParam_GratuitousARPInterval
- func (param *LanConfigParam_GratuitousARPInterval) Format() string
- func (param *LanConfigParam_GratuitousARPInterval) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_GratuitousARPInterval) Pack() []byte
- func (param *LanConfigParam_GratuitousARPInterval) Unpack(data []byte) error
- type LanConfigParam_IP
- type LanConfigParam_IPSource
- func (param *LanConfigParam_IPSource) Format() string
- func (param *LanConfigParam_IPSource) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPSource) Pack() []byte
- func (param *LanConfigParam_IPSource) Unpack(data []byte) error
- type LanConfigParam_IPv4HeaderParams
- func (param *LanConfigParam_IPv4HeaderParams) Format() string
- func (param *LanConfigParam_IPv4HeaderParams) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv4HeaderParams) Pack() []byte
- func (param *LanConfigParam_IPv4HeaderParams) Unpack(data []byte) error
- type LanConfigParam_IPv6DHCPv6DynamicDUID
- func (param *LanConfigParam_IPv6DHCPv6DynamicDUID) Format() string
- func (param *LanConfigParam_IPv6DHCPv6DynamicDUID) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6DHCPv6DynamicDUID) Pack() []byte
- func (param *LanConfigParam_IPv6DHCPv6DynamicDUID) Unpack(data []byte) error
- type LanConfigParam_IPv6DHCPv6DynamicDUIDCount
- func (param *LanConfigParam_IPv6DHCPv6DynamicDUIDCount) Format() string
- func (param *LanConfigParam_IPv6DHCPv6DynamicDUIDCount) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6DHCPv6DynamicDUIDCount) Pack() []byte
- func (param *LanConfigParam_IPv6DHCPv6DynamicDUIDCount) Unpack(data []byte) error
- type LanConfigParam_IPv6DHCPv6StaticDUID
- func (param *LanConfigParam_IPv6DHCPv6StaticDUID) Format() string
- func (param *LanConfigParam_IPv6DHCPv6StaticDUID) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6DHCPv6StaticDUID) Pack() []byte
- func (param *LanConfigParam_IPv6DHCPv6StaticDUID) Unpack(data []byte) error
- type LanConfigParam_IPv6DHCPv6StaticDUIDCount
- func (param *LanConfigParam_IPv6DHCPv6StaticDUIDCount) Format() string
- func (param *LanConfigParam_IPv6DHCPv6StaticDUIDCount) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6DHCPv6StaticDUIDCount) Pack() []byte
- func (param *LanConfigParam_IPv6DHCPv6StaticDUIDCount) Unpack(data []byte) error
- type LanConfigParam_IPv6DHCPv6TimingConfig
- func (param *LanConfigParam_IPv6DHCPv6TimingConfig) Format() string
- func (param *LanConfigParam_IPv6DHCPv6TimingConfig) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6DHCPv6TimingConfig) Pack() []byte
- func (param *LanConfigParam_IPv6DHCPv6TimingConfig) Unpack(data []byte) error
- type LanConfigParam_IPv6DHCPv6TimingConfigSupport
- func (param *LanConfigParam_IPv6DHCPv6TimingConfigSupport) Format() string
- func (param *LanConfigParam_IPv6DHCPv6TimingConfigSupport) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6DHCPv6TimingConfigSupport) Pack() []byte
- func (param *LanConfigParam_IPv6DHCPv6TimingConfigSupport) Unpack(data []byte) error
- type LanConfigParam_IPv6DynamicAddress
- func (param *LanConfigParam_IPv6DynamicAddress) Format() string
- func (param *LanConfigParam_IPv6DynamicAddress) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6DynamicAddress) Pack() []byte
- func (param *LanConfigParam_IPv6DynamicAddress) Unpack(data []byte) error
- type LanConfigParam_IPv6DynamicRouterInfoIP
- func (param *LanConfigParam_IPv6DynamicRouterInfoIP) Format() string
- func (param *LanConfigParam_IPv6DynamicRouterInfoIP) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6DynamicRouterInfoIP) Pack() []byte
- func (param *LanConfigParam_IPv6DynamicRouterInfoIP) Unpack(data []byte) error
- type LanConfigParam_IPv6DynamicRouterInfoMAC
- func (param *LanConfigParam_IPv6DynamicRouterInfoMAC) Format() string
- func (param *LanConfigParam_IPv6DynamicRouterInfoMAC) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6DynamicRouterInfoMAC) Pack() []byte
- func (param *LanConfigParam_IPv6DynamicRouterInfoMAC) Unpack(data []byte) error
- type LanConfigParam_IPv6DynamicRouterInfoPrefixLength
- func (param *LanConfigParam_IPv6DynamicRouterInfoPrefixLength) Format() string
- func (param *LanConfigParam_IPv6DynamicRouterInfoPrefixLength) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6DynamicRouterInfoPrefixLength) Pack() []byte
- func (param *LanConfigParam_IPv6DynamicRouterInfoPrefixLength) Unpack(data []byte) error
- type LanConfigParam_IPv6DynamicRouterInfoPrefixValue
- func (param *LanConfigParam_IPv6DynamicRouterInfoPrefixValue) Format() string
- func (param *LanConfigParam_IPv6DynamicRouterInfoPrefixValue) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6DynamicRouterInfoPrefixValue) Pack() []byte
- func (param *LanConfigParam_IPv6DynamicRouterInfoPrefixValue) Unpack(data []byte) error
- type LanConfigParam_IPv6DynamicRouterInfoSets
- func (param *LanConfigParam_IPv6DynamicRouterInfoSets) Format() string
- func (param *LanConfigParam_IPv6DynamicRouterInfoSets) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6DynamicRouterInfoSets) Pack() []byte
- func (param *LanConfigParam_IPv6DynamicRouterInfoSets) Unpack(data []byte) error
- type LanConfigParam_IPv6DynamicRouterReceivedHopLimit
- func (param *LanConfigParam_IPv6DynamicRouterReceivedHopLimit) Format() string
- func (param *LanConfigParam_IPv6DynamicRouterReceivedHopLimit) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6DynamicRouterReceivedHopLimit) Pack() []byte
- func (param *LanConfigParam_IPv6DynamicRouterReceivedHopLimit) Unpack(data []byte) error
- type LanConfigParam_IPv6Enables
- func (param *LanConfigParam_IPv6Enables) Format() string
- func (param *LanConfigParam_IPv6Enables) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6Enables) Pack() []byte
- func (param *LanConfigParam_IPv6Enables) Unpack(data []byte) error
- type LanConfigParam_IPv6FlowLabel
- func (param *LanConfigParam_IPv6FlowLabel) Format() string
- func (param *LanConfigParam_IPv6FlowLabel) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6FlowLabel) Pack() []byte
- func (param *LanConfigParam_IPv6FlowLabel) Unpack(data []byte) error
- type LanConfigParam_IPv6NDSLAACTimingConfig
- func (param *LanConfigParam_IPv6NDSLAACTimingConfig) Format() string
- func (param *LanConfigParam_IPv6NDSLAACTimingConfig) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6NDSLAACTimingConfig) Pack() []byte
- func (param *LanConfigParam_IPv6NDSLAACTimingConfig) Unpack(data []byte) error
- type LanConfigParam_IPv6NDSLAACTimingConfigSupport
- func (param *LanConfigParam_IPv6NDSLAACTimingConfigSupport) Format() string
- func (param *LanConfigParam_IPv6NDSLAACTimingConfigSupport) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6NDSLAACTimingConfigSupport) Pack() []byte
- func (param *LanConfigParam_IPv6NDSLAACTimingConfigSupport) Unpack(data []byte) error
- type LanConfigParam_IPv6RouterAddressConfigControl
- func (param *LanConfigParam_IPv6RouterAddressConfigControl) Format() string
- func (param *LanConfigParam_IPv6RouterAddressConfigControl) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6RouterAddressConfigControl) Pack() []byte
- func (param *LanConfigParam_IPv6RouterAddressConfigControl) Unpack(data []byte) error
- type LanConfigParam_IPv6StaticAddress
- func (param *LanConfigParam_IPv6StaticAddress) Format() string
- func (param *LanConfigParam_IPv6StaticAddress) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6StaticAddress) Pack() []byte
- func (param *LanConfigParam_IPv6StaticAddress) Unpack(data []byte) error
- type LanConfigParam_IPv6StaticHopLimit
- func (param *LanConfigParam_IPv6StaticHopLimit) Format() string
- func (param *LanConfigParam_IPv6StaticHopLimit) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6StaticHopLimit) Pack() []byte
- func (param *LanConfigParam_IPv6StaticHopLimit) Unpack(data []byte) error
- type LanConfigParam_IPv6StaticRouter1IP
- func (param *LanConfigParam_IPv6StaticRouter1IP) Format() string
- func (param *LanConfigParam_IPv6StaticRouter1IP) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6StaticRouter1IP) Pack() []byte
- func (param *LanConfigParam_IPv6StaticRouter1IP) Unpack(data []byte) error
- type LanConfigParam_IPv6StaticRouter1MAC
- func (param *LanConfigParam_IPv6StaticRouter1MAC) Format() string
- func (param *LanConfigParam_IPv6StaticRouter1MAC) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6StaticRouter1MAC) Pack() []byte
- func (param *LanConfigParam_IPv6StaticRouter1MAC) Unpack(data []byte) error
- type LanConfigParam_IPv6StaticRouter1PrefixLength
- func (param *LanConfigParam_IPv6StaticRouter1PrefixLength) Format() string
- func (param *LanConfigParam_IPv6StaticRouter1PrefixLength) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6StaticRouter1PrefixLength) Pack() []byte
- func (param *LanConfigParam_IPv6StaticRouter1PrefixLength) Unpack(data []byte) error
- type LanConfigParam_IPv6StaticRouter1PrefixValue
- func (param *LanConfigParam_IPv6StaticRouter1PrefixValue) Format() string
- func (param *LanConfigParam_IPv6StaticRouter1PrefixValue) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6StaticRouter1PrefixValue) Pack() []byte
- func (param *LanConfigParam_IPv6StaticRouter1PrefixValue) Unpack(data []byte) error
- type LanConfigParam_IPv6StaticRouter2IP
- func (param *LanConfigParam_IPv6StaticRouter2IP) Format() string
- func (param *LanConfigParam_IPv6StaticRouter2IP) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6StaticRouter2IP) Pack() []byte
- func (param *LanConfigParam_IPv6StaticRouter2IP) Unpack(data []byte) error
- type LanConfigParam_IPv6StaticRouter2MAC
- func (param *LanConfigParam_IPv6StaticRouter2MAC) Format() string
- func (param *LanConfigParam_IPv6StaticRouter2MAC) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6StaticRouter2MAC) Pack() []byte
- func (param *LanConfigParam_IPv6StaticRouter2MAC) Unpack(data []byte) error
- type LanConfigParam_IPv6StaticRouter2PrefixLength
- func (param *LanConfigParam_IPv6StaticRouter2PrefixLength) Format() string
- func (param *LanConfigParam_IPv6StaticRouter2PrefixLength) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6StaticRouter2PrefixLength) Pack() []byte
- func (param *LanConfigParam_IPv6StaticRouter2PrefixLength) Unpack(data []byte) error
- type LanConfigParam_IPv6StaticRouter2PrefixValue
- func (param *LanConfigParam_IPv6StaticRouter2PrefixValue) Format() string
- func (param *LanConfigParam_IPv6StaticRouter2PrefixValue) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6StaticRouter2PrefixValue) Pack() []byte
- func (param *LanConfigParam_IPv6StaticRouter2PrefixValue) Unpack(data []byte) error
- type LanConfigParam_IPv6StaticTrafficClass
- func (param *LanConfigParam_IPv6StaticTrafficClass) Format() string
- func (param *LanConfigParam_IPv6StaticTrafficClass) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6StaticTrafficClass) Pack() []byte
- func (param *LanConfigParam_IPv6StaticTrafficClass) Unpack(data []byte) error
- type LanConfigParam_IPv6Status
- func (param *LanConfigParam_IPv6Status) Format() string
- func (param *LanConfigParam_IPv6Status) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6Status) Pack() []byte
- func (param *LanConfigParam_IPv6Status) Unpack(data []byte) error
- type LanConfigParam_IPv6Support
- func (param *LanConfigParam_IPv6Support) Format() string
- func (param *LanConfigParam_IPv6Support) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_IPv6Support) Pack() []byte
- func (param *LanConfigParam_IPv6Support) Unpack(data []byte) error
- type LanConfigParam_MAC
- type LanConfigParam_PrimaryRMCPPort
- func (param *LanConfigParam_PrimaryRMCPPort) Format() string
- func (param *LanConfigParam_PrimaryRMCPPort) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_PrimaryRMCPPort) Pack() []byte
- func (param *LanConfigParam_PrimaryRMCPPort) Unpack(data []byte) error
- type LanConfigParam_SecondaryRMCPPort
- func (param *LanConfigParam_SecondaryRMCPPort) Format() string
- func (param *LanConfigParam_SecondaryRMCPPort) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_SecondaryRMCPPort) Pack() []byte
- func (param *LanConfigParam_SecondaryRMCPPort) Unpack(data []byte) error
- type LanConfigParam_SetInProgress
- func (param *LanConfigParam_SetInProgress) Format() string
- func (param *LanConfigParam_SetInProgress) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_SetInProgress) Pack() []byte
- func (param *LanConfigParam_SetInProgress) Unpack(data []byte) error
- type LanConfigParam_SubnetMask
- func (param *LanConfigParam_SubnetMask) Format() string
- func (param *LanConfigParam_SubnetMask) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_SubnetMask) Pack() []byte
- func (param *LanConfigParam_SubnetMask) Unpack(data []byte) error
- type LanConfigParam_VLANID
- type LanConfigParam_VLANPriority
- func (param *LanConfigParam_VLANPriority) Format() string
- func (param *LanConfigParam_VLANPriority) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *LanConfigParam_VLANPriority) Pack() []byte
- func (param *LanConfigParam_VLANPriority) Unpack(data []byte) error
- type LanConfigParameter
- type LanConfigParams
- type LanIPAddressSource
- type LanIPv6AddressStatus
- type LanIPv6DHCPv6TimingConfigMode
- type LanIPv6DynamicAddressSource
- type LanIPv6EnableMode
- type LanIPv6NDSLAACTimingConfigMode
- type LanIPv6StaticAddressSource
- type LinearizationFunc
- type MCLocatorPackOpts
- type ManagementAccessSubRecordType
- type Mask
- func (mask *Mask) ParseAssertLower(b uint16)
- func (mask *Mask) ParseDeassertUpper(b uint16)
- func (mask *Mask) ParseReading(b uint16)
- func (mask *Mask) ReadableThresholds() SensorThresholdTypes
- func (mask *Mask) SettableThresholds() SensorThresholdTypes
- func (mask *Mask) StatusReturnedThresholds() SensorThresholdTypes
- func (mask *Mask) SupportedThresholdEvents() SensorEvents
- type Mask_Discrete
- type Mask_DiscreteEvent
- type Mask_Threshold
- type Mask_Thresholds
- type MessageClass
- type MessageType
- type NetFn
- type OEM
- type PEFAlertPolicy
- type PEFAlertPolicyAction
- type PEFConfigParamSelector
- type PEFConfigParam_ActionGlobalControl
- func (param *PEFConfigParam_ActionGlobalControl) Format() string
- func (param *PEFConfigParam_ActionGlobalControl) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *PEFConfigParam_ActionGlobalControl) Pack() []byte
- func (param *PEFConfigParam_ActionGlobalControl) Unpack(data []byte) error
- type PEFConfigParam_AlertPoliciesCount
- func (param *PEFConfigParam_AlertPoliciesCount) Format() string
- func (param *PEFConfigParam_AlertPoliciesCount) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *PEFConfigParam_AlertPoliciesCount) Pack() []byte
- func (param *PEFConfigParam_AlertPoliciesCount) Unpack(data []byte) error
- type PEFConfigParam_AlertPolicy
- func (param *PEFConfigParam_AlertPolicy) Format() string
- func (param *PEFConfigParam_AlertPolicy) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *PEFConfigParam_AlertPolicy) Pack() []byte
- func (param *PEFConfigParam_AlertPolicy) Unpack(data []byte) error
- type PEFConfigParam_AlertStartupDelay
- func (param *PEFConfigParam_AlertStartupDelay) Format() string
- func (param *PEFConfigParam_AlertStartupDelay) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *PEFConfigParam_AlertStartupDelay) Pack() []byte
- func (param *PEFConfigParam_AlertStartupDelay) Unpack(data []byte) error
- type PEFConfigParam_AlertString
- func (param *PEFConfigParam_AlertString) Format() string
- func (param *PEFConfigParam_AlertString) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *PEFConfigParam_AlertString) Pack() []byte
- func (param *PEFConfigParam_AlertString) Unpack(data []byte) error
- type PEFConfigParam_AlertStringKey
- func (param *PEFConfigParam_AlertStringKey) Format() string
- func (param *PEFConfigParam_AlertStringKey) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *PEFConfigParam_AlertStringKey) Pack() []byte
- func (param *PEFConfigParam_AlertStringKey) Unpack(data []byte) error
- type PEFConfigParam_AlertStringsCount
- func (param *PEFConfigParam_AlertStringsCount) Format() string
- func (param *PEFConfigParam_AlertStringsCount) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *PEFConfigParam_AlertStringsCount) Pack() []byte
- func (param *PEFConfigParam_AlertStringsCount) Unpack(data []byte) error
- type PEFConfigParam_Control
- func (param *PEFConfigParam_Control) Format() string
- func (param *PEFConfigParam_Control) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *PEFConfigParam_Control) Pack() []byte
- func (param *PEFConfigParam_Control) Unpack(data []byte) error
- type PEFConfigParam_EventFilter
- func (param *PEFConfigParam_EventFilter) Format() string
- func (param *PEFConfigParam_EventFilter) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *PEFConfigParam_EventFilter) Pack() []byte
- func (param *PEFConfigParam_EventFilter) Unpack(data []byte) error
- type PEFConfigParam_EventFilterData1
- func (param *PEFConfigParam_EventFilterData1) Format() string
- func (param *PEFConfigParam_EventFilterData1) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *PEFConfigParam_EventFilterData1) Pack() []byte
- func (param *PEFConfigParam_EventFilterData1) Unpack(data []byte) error
- type PEFConfigParam_EventFiltersCount
- func (param *PEFConfigParam_EventFiltersCount) Format() string
- func (param *PEFConfigParam_EventFiltersCount) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *PEFConfigParam_EventFiltersCount) Pack() []byte
- func (param *PEFConfigParam_EventFiltersCount) Unpack(data []byte) error
- type PEFConfigParam_GroupControl
- func (param *PEFConfigParam_GroupControl) Format() string
- func (param *PEFConfigParam_GroupControl) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *PEFConfigParam_GroupControl) Pack() []byte
- func (param *PEFConfigParam_GroupControl) Unpack(data []byte) error
- type PEFConfigParam_GroupControlsCount
- func (param *PEFConfigParam_GroupControlsCount) Format() string
- func (param *PEFConfigParam_GroupControlsCount) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *PEFConfigParam_GroupControlsCount) Pack() []byte
- func (param *PEFConfigParam_GroupControlsCount) Unpack(data []byte) error
- type PEFConfigParam_SetInProgress
- func (param *PEFConfigParam_SetInProgress) Format() string
- func (param *PEFConfigParam_SetInProgress) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *PEFConfigParam_SetInProgress) Pack() []byte
- func (param *PEFConfigParam_SetInProgress) Unpack(data []byte) error
- type PEFConfigParam_StartupDelay
- func (param *PEFConfigParam_StartupDelay) Format() string
- func (param *PEFConfigParam_StartupDelay) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *PEFConfigParam_StartupDelay) Pack() []byte
- func (param *PEFConfigParam_StartupDelay) Unpack(data []byte) error
- type PEFConfigParam_SystemGUID
- func (param *PEFConfigParam_SystemGUID) Format() string
- func (param *PEFConfigParam_SystemGUID) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (param *PEFConfigParam_SystemGUID) Pack() []byte
- func (param *PEFConfigParam_SystemGUID) Unpack(configData []byte) error
- type PEFConfigParameter
- type PEFConfigParams
- type PEFEventFilter
- type PEFEventFilterType
- type PEFEventSeverity
- type Parameter
- type PayloadType
- type PrivilegeLevel
- type ReadingFactors
- type Request
- type Response
- type ResponseError
- type Result
- type Rmcp
- type RmcpAckMessage
- type RmcpHeader
- type RmcpStatusCode
- type RmcpStatusError
- type SDR
- type SDRBMCChannelInfo
- type SDRCompact
- type SDRDeviceRelative
- type SDREntityAssociation
- type SDREventOnly
- type SDRFRUDeviceLocator
- type SDRFull
- func (full *SDRFull) ConvertReading(raw uint8) float64
- func (full *SDRFull) ConvertSensorHysteresis(raw uint8) float64
- func (full *SDRFull) ConvertSensorTolerance(raw uint8) float64
- func (full *SDRFull) HasAnalogReading() bool
- func (full *SDRFull) HysteresisStr(raw uint8) string
- func (s *SDRFull) Pack(recordID uint16) []byte
- func (full *SDRFull) ReadingMaxStr() string
- func (full *SDRFull) ReadingMinStr() string
- func (full *SDRFull) ReadingStr(raw uint8, valid bool) string
- func (full *SDRFull) SensorThreshold(thresholdType SensorThresholdType) SensorThreshold
- func (full *SDRFull) String() string
- func (full *SDRFull) ThresholdValueStr(thresholdType SensorThresholdType) string
- type SDRGenericDeviceLocator
- type SDRHeader
- type SDRMapBySensorNumber
- type SDRMgmtControllerConfirmation
- type SDRMgmtControllerDeviceLocator
- type SDROEM
- type SDRRecordType
- type SDRReserved
- type SEL
- type SELOEMNonTimestamped
- type SELOEMTimestamped
- type SELRecordType
- type SELRecordTypeRange
- type SELStandard
- type SOLConfigParamSelector
- type SOLConfigParam_Character
- func (p *SOLConfigParam_Character) Format() string
- func (p *SOLConfigParam_Character) Pack() []byte
- func (p *SOLConfigParam_Character) SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (p *SOLConfigParam_Character) Unpack(paramData []byte) error
- type SOLConfigParam_NonVolatileBitRate
- func (p *SOLConfigParam_NonVolatileBitRate) Format() string
- func (p *SOLConfigParam_NonVolatileBitRate) Pack() []byte
- func (p *SOLConfigParam_NonVolatileBitRate) SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (p *SOLConfigParam_NonVolatileBitRate) Unpack(paramData []byte) error
- type SOLConfigParam_PayloadChannel
- func (p *SOLConfigParam_PayloadChannel) Format() string
- func (p *SOLConfigParam_PayloadChannel) Pack() []byte
- func (p *SOLConfigParam_PayloadChannel) SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (p *SOLConfigParam_PayloadChannel) Unpack(paramData []byte) error
- type SOLConfigParam_PayloadPort
- func (p *SOLConfigParam_PayloadPort) Format() string
- func (p *SOLConfigParam_PayloadPort) Pack() []byte
- func (p *SOLConfigParam_PayloadPort) SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (p *SOLConfigParam_PayloadPort) Unpack(paramData []byte) error
- type SOLConfigParam_SOLAuthentication
- func (p *SOLConfigParam_SOLAuthentication) Format() string
- func (p *SOLConfigParam_SOLAuthentication) Pack() []byte
- func (p *SOLConfigParam_SOLAuthentication) SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (p *SOLConfigParam_SOLAuthentication) Unpack(paramData []byte) error
- type SOLConfigParam_SOLEnable
- func (p *SOLConfigParam_SOLEnable) Format() string
- func (p *SOLConfigParam_SOLEnable) Pack() []byte
- func (p *SOLConfigParam_SOLEnable) SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (p *SOLConfigParam_SOLEnable) Unpack(paramData []byte) error
- type SOLConfigParam_SOLRetry
- type SOLConfigParam_SetInProgress
- func (p *SOLConfigParam_SetInProgress) Format() string
- func (p *SOLConfigParam_SetInProgress) Pack() []byte
- func (p *SOLConfigParam_SetInProgress) SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (p *SOLConfigParam_SetInProgress) Unpack(paramData []byte) error
- type SOLConfigParam_VolatileBitRate
- func (p *SOLConfigParam_VolatileBitRate) Format() string
- func (p *SOLConfigParam_VolatileBitRate) Pack() []byte
- func (p *SOLConfigParam_VolatileBitRate) SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
- func (p *SOLConfigParam_VolatileBitRate) Unpack(paramData []byte) error
- type SOLConfigParameter
- type SOLConfigParams
- type SOLPayloadPacket
- type SOLPayloadRequest
- type SOLPayloadResponse
- type Sensor
- func (sensor *Sensor) ConvertReading(raw uint8) float64
- func (sensor *Sensor) ConvertSensorHysteresis(raw uint8) float64
- func (sensor *Sensor) ConvertSensorTolerance(raw uint8) float64
- func (sensor *Sensor) DiscreteActiveEvents() []uint8
- func (sensor *Sensor) DiscreteActiveEventsString() []string
- func (sensor *Sensor) EventString(eventOffset uint8) string
- func (sensor *Sensor) HumanStr() string
- func (sensor *Sensor) HysteresisStr(raw uint8) string
- func (sensor *Sensor) IsReadingValid() bool
- func (sensor *Sensor) IsThreshold() bool
- func (sensor *Sensor) IsThresholdAndReadingValid() bool
- func (sensor *Sensor) IsThresholdReadable(thresholdType SensorThresholdType) bool
- func (sensor *Sensor) ReadingStr() string
- func (sensor *Sensor) SensorThreshold(thresholdType SensorThresholdType) SensorThreshold
- func (sensor *Sensor) Status() string
- func (s *Sensor) String() string
- func (sensor *Sensor) ThresholdStr(thresholdType SensorThresholdType) string
- type SensorAnalogUnitFormat
- type SensorCapabilities
- type SensorClass
- type SensorEvent
- type SensorEventFlag
- type SensorEventMessageControl
- type SensorEvents
- type SensorHysteresisAccess
- type SensorInitialization
- type SensorModifierRelation
- type SensorNumber
- type SensorRateUnit
- type SensorStatus
- type SensorThreshold
- type SensorThresholdAccess
- type SensorThresholdStatus
- type SensorThresholdType
- type SensorThresholdTypes
- type SensorType
- type SensorUnit
- type SensorUnitType
- type Session15
- type Session20
- type SessionHeader15
- type SessionHeader20
- type SessionState
- type SessionTrailer
- type SetInProgressState
- type SoftwareID
- type SoftwareType
- type SystemInfo
- type SystemInfoParamSelector
- type SystemInfoParam_BMCURL
- type SystemInfoParam_ManagementURL
- func (p *SystemInfoParam_ManagementURL) Format() string
- func (p *SystemInfoParam_ManagementURL) Pack() []byte
- func (p *SystemInfoParam_ManagementURL) SystemInfoParameter() (paramSelector SystemInfoParamSelector, setSelector uint8, blockSelector uint8)
- func (p *SystemInfoParam_ManagementURL) Unpack(data []byte) error
- type SystemInfoParam_OSName
- type SystemInfoParam_OSVersion
- func (p *SystemInfoParam_OSVersion) Format() string
- func (p *SystemInfoParam_OSVersion) Pack() []byte
- func (p *SystemInfoParam_OSVersion) SystemInfoParameter() (paramSelector SystemInfoParamSelector, setSelector uint8, blockSelector uint8)
- func (p *SystemInfoParam_OSVersion) Unpack(data []byte) error
- type SystemInfoParam_PrimaryOSName
- func (p *SystemInfoParam_PrimaryOSName) Format() string
- func (p *SystemInfoParam_PrimaryOSName) Pack() []byte
- func (p *SystemInfoParam_PrimaryOSName) SystemInfoParameter() (paramSelector SystemInfoParamSelector, setSelector uint8, blockSelector uint8)
- func (p *SystemInfoParam_PrimaryOSName) Unpack(data []byte) error
- type SystemInfoParam_SetInProgress
- func (p *SystemInfoParam_SetInProgress) Format() string
- func (p *SystemInfoParam_SetInProgress) Pack() []byte
- func (p *SystemInfoParam_SetInProgress) SystemInfoParameter() (paramSelector SystemInfoParamSelector, setSelector uint8, blockSelector uint8)
- func (p *SystemInfoParam_SetInProgress) Unpack(data []byte) error
- type SystemInfoParam_SystemFirmwareVersion
- func (p *SystemInfoParam_SystemFirmwareVersion) Format() string
- func (p *SystemInfoParam_SystemFirmwareVersion) Pack() []byte
- func (p *SystemInfoParam_SystemFirmwareVersion) SystemInfoParameter() (paramSelector SystemInfoParamSelector, setSelector uint8, blockSelector uint8)
- func (p *SystemInfoParam_SystemFirmwareVersion) Unpack(data []byte) error
- type SystemInfoParam_SystemName
- func (p *SystemInfoParam_SystemName) Format() string
- func (p *SystemInfoParam_SystemName) Pack() []byte
- func (p *SystemInfoParam_SystemName) SystemInfoParameter() (paramSelector SystemInfoParamSelector, setSelector uint8, blockSelector uint8)
- func (p *SystemInfoParam_SystemName) Unpack(data []byte) error
- type SystemInfoParameter
- type SystemInfoParams
- type TypeLength
Constants ¶
const ( IPMB_LUN_BMC LUN = 0x00 // BMC commands and Event Request Messages IPMB_LUN_OEM_1 LUN = 0x01 // OEM LUN 1 IPMB_LUN_SMS LUN = 0x10 // SMS Message LUN (Intended for messages to System Management Software) IPMB_LUN_OEM_2 LUN = 0x11 // OEM LUN 2 // the least significant bit // 0b (ID is a slave address) // 1b (ID is a Software ID) BMC_SA uint8 = 0x20 // BMC's responder address RemoteConsole_SWID uint8 = 0x81 // Remote Console Software ID )
7.2 BMC IPMB LUNs
const ( StandardCipherSuite uint8 = 0xc0 OEMCipherSuite uint8 = 0xc1 CipherAlgMask uint8 = 0x3f // [5:0]=111111b CipherAlgTagBitMask uint8 = 0xc0 // [7:6]=11b CipherAlgTagBitAuthMask uint8 = 0x00 // [7:6]=00b CipherAlgTagBitIntegrityMask uint8 = 0x40 // [7:6]=01b CipherAlgTagBitEncryptionMask uint8 = 0x80 // [7:6]=10b LIST_ALGORITHMS_BY_CIPHER_SUITE uint8 = 0x80 )
const ( DCMICapParamSelector_SupportedDCMICapabilities = DCMICapParamSelector(0x01) DCMICapParamSelector_MandatoryPlatformAttributes = DCMICapParamSelector(0x02) DCMICapParamSelector_OptionalPlatformAttributes = DCMICapParamSelector(0x03) DCMICapParamSelector_ManageabilityAccessAttributes = DCMICapParamSelector(0x04) DCMICapParamSelector_EnhancedSystemPowerStatisticsAttributes = DCMICapParamSelector(0x05) )
const ( FRUFormatVersion uint8 = 0x01 FRUAreaFieldsEndMark uint8 = 0xc1 FRUCommonHeaderSize uint8 = 8 // FRUMultiRecordFormatVersion is the default MultiRecord format version // (fru§16.2.3: shall be 02h unless otherwise specified). FRUMultiRecordFormatVersion uint8 = 0x02 )
const ( LanIPv6NDSLAACTimingConfigMode_NotSupported LanIPv6DHCPv6TimingConfigMode = 0 LanIPv6NDSLAACTimingConfigMode_Global LanIPv6NDSLAACTimingConfigMode = 1 LanIPv6NDSLAACTimingConfigMode_PerInterface LanIPv6NDSLAACTimingConfigMode = 2 )
const ( OEM_UNKNOWN = 0 OEM_DEBUG = 0xFFFFFE /* Hoping IANA won't hit this soon */ OEM_RESERVED = 0x0FFFFF /* As per IPMI 2.0 specification */ OEM_IBM_2 = 2 /* 2 for [IBM] */ OEM_HP = 11 OEM_SUN = 42 OEM_NOKIA = 94 OEM_BULL = 107 OEM_HITACHI_116 = 116 OEM_NEC = 119 OEM_TOSHIBA = 186 OEM_ERICSSON = 193 OEM_INTEL = 343 OEM_TATUNG = 373 OEM_HITACHI_399 = 399 OEM_DELL = 674 OEM_HUAWEI = 2011 OEM_LMC = 2168 OEM_ASUSTEK = 2623 OEM_RADISYS = 4337 OEM_BROADCOM = 4413 OEM_IBM_4769 = 4769 /* 4769 for [IBM Corporation] */ OEM_MAGNUM = 5593 OEM_TYAN = 6653 OEM_QUANTA = 7244 OEM_VIKING = 9237 OEM_ADVANTECH = 10297 OEM_FUJITSU_SIEMENS = 10368 OEM_AVOCENT = 10418 OEM_PEPPERCON = 10437 OEM_SUPERMICRO = 10876 OEM_OSA = 11102 OEM_GOOGLE = 11129 OEM_PICMG = 12634 OEM_RARITAN = 13742 OEM_KONTRON = 15000 OEM_PPS = 16394 OEM_IBM_20301 = 20301 /* 20301 for [IBM eServer X] */ OEM_AMI = 20974 OEM_FOXCONN = 22238 OEM_ADLINK_24339 = 24339 /* 24339 for [ADLINK TECHNOLOGY INC.] */ OEM_H3C = 25506 OEM_NOKIA_28458 = 28458 OEM_NOKIA_SOLUTIONS_AND_NETWORKS = 28458 OEM_VITA = 33196 OEM_INSPUR = 37945 OEM_TENCENT = 41475 OEM_BYTEDANCE = 46045 OEM_SUPERMICRO_47488 = 47488 OEM_YADRO = 49769 )
cSpell: disable
const ( CryptAlg_None CryptAlg = 0x00 // Mandatory CryptAlg_AES_CBC_128 CryptAlg = 0x01 // Mandatory CryptAlg_xRC4_128 CryptAlg = 0x02 // Optional CryptAlg_xRC4_40 CryptAlg = 0x03 // Optional Encryption_AES_CBS_128_BlockSize uint8 = 0x10 )
const ( RmcpVersion uint8 = 0x06 RMCP_TYPE_MASK = 0x80 RMCP_TYPE_NORM = 0x00 RMCP_TYPE_ACK = 0x01 )
const ( MessageACKBit uint8 = 0x80 MessageNormalBit uint8 = 0x00 )
const ( MessageClassASF = 6 MessageClassIPMI = 7 MessageClassOEM = 8 )
const ( SensorThresholdStatus_OK = "ok" SensorThresholdStatus_LNC = "lnc" SensorThresholdStatus_LCR = "lcr" SensorThresholdStatus_LNR = "lnr" SensorThresholdStatus_UNC = "unc" SensorThresholdStatus_UCR = "ucr" SensorThresholdStatus_UNR = "unr" )
const ( // SensorStatusOK means okay (the sensor is present and operating correctly) SensorStatusOK = "OK" // SensorStatusNoSensor means no sensor (corresponding reading will say disabled or Not Readable) SensorStatusNoSensor = "N/A" // SensorStatusNonCritical means non-critical error (lower or upper) SensorStatusNonCritical = "NC" // SensorStatusCritical means critical error (lower or upper) SensorStatusCritical = "CR" // SensorStatusNonRecoverable means non-recoverable error (lower or upper) SensorStatusNonRecoverable = "NR" )
const ( SessionHeader20SizeMax int = 18 SessionHeader20SizeMin int = 12 SessionHeader15SizeMax int = 26 SessionHeader15SizeMin int = 10 )
const ( // Eh = retrieve information for channel this request was issued on ChannelNumberSelf uint8 = 0x0e )
const ( // Intel DCMI extensions (https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/dcmi-v1-5-rev-spec.pdf) GroupExtensionDCMI uint8 = 0xDC )
Group Extensions
const (
IPMIRequesterSequenceMax uint8 = 0x3f // RequesterSequence only occupy 6 bits
)
const SDRCommandSetVersion uint8 = 0x51
SDRCommandSetVersion is the SDR command-set version returned by Get SDR Repository Info (§33.9) and stored in SDR record headers (§43).
const SDRRecordHeaderSize int = 5
const SensorNumberReserved = 0xff
const TimeFormat = time.RFC3339
Variables ¶
var ( ErrUnpackedDataTooShort = errors.New("unpacked data is too short") ErrDCMIGroupExtensionIDMismatch = errors.New("DCMI group extension ID mismatch") )
var ( // a faked command for RAKP messages CommandNone = Command{} // a faked command for SOL payload packets CommandSOLPayload = Command{Name: "SOL Payload"} // IPM Device Global Commands CommandGetDeviceID = Command{ID: 0x01, NetFn: NetFnAppRequest, Name: "Get Device ID"} CommandColdReset = Command{ID: 0x02, NetFn: NetFnAppRequest, Name: "Cold Reset"} CommandWarmReset = Command{ID: 0x03, NetFn: NetFnAppRequest, Name: "Warm Reset"} CommandGetSelfTestResults = Command{ID: 0x04, NetFn: NetFnAppRequest, Name: "Get Self Test Results"} CommandManufacturingTestOn = Command{ID: 0x05, NetFn: NetFnAppRequest, Name: "Manufacturing Test On"} CommandSetACPIPowerState = Command{ID: 0x06, NetFn: NetFnAppRequest, Name: "Set ACPI Power State"} CommandGetACPIPowerState = Command{ID: 0x07, NetFn: NetFnAppRequest, Name: "Get ACPI Power State"} CommandGetDeviceGUID = Command{ID: 0x08, NetFn: NetFnAppRequest, Name: "Get Device GUID"} CommandGetNetFnSupport = Command{ID: 0x09, NetFn: NetFnAppRequest, Name: "Get NetFn Support"} CommandGetCommandSupport = Command{ID: 0x0a, NetFn: NetFnAppRequest, Name: "Get Command Support"} CommandGetCommandSubfunctionSupport = Command{ID: 0x0b, NetFn: NetFnAppRequest, Name: "Get Command Sub-function Support"} CommandGetConfigurableCommands = Command{ID: 0x0c, NetFn: NetFnAppRequest, Name: "Get Configurable Commands"} CommandGetConfigurableCommandSubfunctions = Command{ID: 0x0d, NetFn: NetFnAppRequest, Name: "Get Configurable Command Sub-functions"} // 0Eh - 0Fh reserved CommandSetCommandEnables = Command{ID: 0x60, NetFn: NetFnAppRequest, Name: "Set Command Enables"} CommandGetCommandEnables = Command{ID: 0x61, NetFn: NetFnAppRequest, Name: "Get Command Enables"} CommandSetCommandSubfunctionEnables = Command{ID: 0x62, NetFn: NetFnAppRequest, Name: "Set Command Sub-function Enables"} CommandGetCommandSubfunctionEnables = Command{ID: 0x63, NetFn: NetFnAppRequest, Name: "Get Command Sub-function Enables"} CommandGetOEMNetFnIanaSupport = Command{ID: 0x64, NetFn: NetFnAppRequest, Name: "Get OEM NetFn IANA Support"} // BMC Watchdog Timer Commands CommandResetWatchdogTimer = Command{ID: 0x22, NetFn: NetFnAppRequest, Name: "Reset Watchdog Timer"} CommandSetWatchdogTimer = Command{ID: 0x24, NetFn: NetFnAppRequest, Name: "Set Watchdog Timer"} CommandGetWatchdogTimer = Command{ID: 0x25, NetFn: NetFnAppRequest, Name: "Get Watchdog Timer"} // BMC Device and Messaging Commands CommandSetBMCGlobalEnables = Command{ID: 0x2e, NetFn: NetFnAppRequest, Name: "Set BMC Global Enables"} CommandGetBMCGlobalEnables = Command{ID: 0x2f, NetFn: NetFnAppRequest, Name: "Get BMC Global Enables"} CommandClearMessageFlags = Command{ID: 0x30, NetFn: NetFnAppRequest, Name: "Clear Message Flags"} CommandGetMessageFlags = Command{ID: 0x31, NetFn: NetFnAppRequest, Name: "Get Message Flags"} CommandEnableMessageChannelReceive = Command{ID: 0x32, NetFn: NetFnAppRequest, Name: "Enable Message Channel Receive"} CommandGetMessage = Command{ID: 0x33, NetFn: NetFnAppRequest, Name: "Get Message"} CommandSendMessage = Command{ID: 0x34, NetFn: NetFnAppRequest, Name: "Send Message"} CommandReadEventMessageBuffer = Command{ID: 0x35, NetFn: NetFnAppRequest, Name: "Read Event Message Buffer"} CommandGetBTInterfaceCapabilities = Command{ID: 0x36, NetFn: NetFnAppRequest, Name: "Get BT Interface Capabilities"} CommandGetSystemGUID = Command{ID: 0x37, NetFn: NetFnAppRequest, Name: "Get System GUID"} CommandSetSystemInfoParam = Command{ID: 0x58, NetFn: NetFnAppRequest, Name: "Set System Info Param"} CommandGetSystemInfoParam = Command{ID: 0x59, NetFn: NetFnAppRequest, Name: "Get System Info Param"} CommandGetChannelAuthCapabilities = Command{ID: 0x38, NetFn: NetFnAppRequest, Name: "Get Channel Authentication Capabilities"} CommandGetSessionChallenge = Command{ID: 0x39, NetFn: NetFnAppRequest, Name: "Get Session Challenge"} CommandActivateSession = Command{ID: 0x3a, NetFn: NetFnAppRequest, Name: "Activate Session"} CommandSetSessionPrivilegeLevel = Command{ID: 0x3b, NetFn: NetFnAppRequest, Name: "Set Session Privilege Level"} CommandCloseSession = Command{ID: 0x3c, NetFn: NetFnAppRequest, Name: "Close Session"} CommandGetSessionInfo = Command{ID: 0x3d, NetFn: NetFnAppRequest, Name: "Get Session Info"} // 3e unassigned CommandGetAuthCode = Command{ID: 0x3f, NetFn: NetFnAppRequest, Name: "Get AuthCode"} CommandSetChannelAccess = Command{ID: 0x40, NetFn: NetFnAppRequest, Name: "Set Channel Access"} CommandGetChannelAccess = Command{ID: 0x41, NetFn: NetFnAppRequest, Name: "Get Channel Access"} CommandGetChannelInfo = Command{ID: 0x42, NetFn: NetFnAppRequest, Name: "Get Channel Info Command"} CommandSetUserAccess = Command{ID: 0x43, NetFn: NetFnAppRequest, Name: "Set User Access Command"} CommandGetUserAccess = Command{ID: 0x44, NetFn: NetFnAppRequest, Name: "Get User Access Command"} CommandSetUsername = Command{ID: 0x45, NetFn: NetFnAppRequest, Name: "Set User Name"} CommandGetUsername = Command{ID: 0x46, NetFn: NetFnAppRequest, Name: "Get User Name Command"} CommandSetUserPassword = Command{ID: 0x47, NetFn: NetFnAppRequest, Name: "Set User Password Command"} CommandActivatePayload = Command{ID: 0x48, NetFn: NetFnAppRequest, Name: "Activate Payload"} CommandDeactivatePayload = Command{ID: 0x49, NetFn: NetFnAppRequest, Name: "Deactivate Payload"} CommandGetPayloadActivationStatus = Command{ID: 0x4a, NetFn: NetFnAppRequest, Name: "Get Payload Activation Status"} CommandGetPayloadInstanceInfo = Command{ID: 0x4b, NetFn: NetFnAppRequest, Name: "Get Payload Instance Info"} CommandSetUserPayloadAccess = Command{ID: 0x4c, NetFn: NetFnAppRequest, Name: "Set User Payload Access"} CommandGetUserPayloadAccess = Command{ID: 0x4d, NetFn: NetFnAppRequest, Name: "Get User Payload Access"} CommandGetChannelPayloadSupport = Command{ID: 0x4e, NetFn: NetFnAppRequest, Name: "Get Channel Payload Support"} CommandGetChannelPayloadVersion = Command{ID: 0x4f, NetFn: NetFnAppRequest, Name: "Get Channel Payload Version"} CommandGetChannelOEMPayloadInfo = Command{ID: 0x50, NetFn: NetFnAppRequest, Name: "Get Channel OEM Payload Info"} // 51 unassigned CommandMasterWriteRead = Command{ID: 0x52, NetFn: NetFnAppRequest, Name: "Master Write-Read"} // 53 unassigned CommandGetChannelCipherSuites = Command{ID: 0x54, NetFn: NetFnAppRequest, Name: "Get Channel Cipher Suites"} CommandSuspendResumePayloadEncryption = Command{ID: 0x55, NetFn: NetFnAppRequest, Name: "Suspend/Resume Payload Encryption"} CommandSetChannelSecurityKeys = Command{ID: 0x56, NetFn: NetFnAppRequest, Name: "Set Channel Security Keys"} CommandGetSystemInterfaceCapabilities = Command{ID: 0x57, NetFn: NetFnAppRequest, Name: "Get System Interface Capabilities"} // Chassis Device Commands CommandGetChassisCapabilities = Command{ID: 0x00, NetFn: NetFnChassisRequest, Name: "Get Chassis Capabilities"} CommandGetChassisStatus = Command{ID: 0x01, NetFn: NetFnChassisRequest, Name: "Get Chassis Status"} CommandChassisControl = Command{ID: 0x02, NetFn: NetFnChassisRequest, Name: "Chassis Control"} CommandChassisReset = Command{ID: 0x03, NetFn: NetFnChassisRequest, Name: "Chassis Reset"} CommandChassisIdentify = Command{ID: 0x04, NetFn: NetFnChassisRequest, Name: "Chassis Identify"} CommandSetChassisCapabilities = Command{ID: 0x05, NetFn: NetFnChassisRequest, Name: "Set Chassis Capabilities"} CommandSetPowerRestorePolicy = Command{ID: 0x06, NetFn: NetFnChassisRequest, Name: "Set Power Restore Policy"} CommandGetSystemRestartCause = Command{ID: 0x07, NetFn: NetFnChassisRequest, Name: "Get System Restart Cause"} CommandSetSystemBootOptions = Command{ID: 0x08, NetFn: NetFnChassisRequest, Name: "Set System Boot Options"} CommandGetSystemBootOptions = Command{ID: 0x09, NetFn: NetFnChassisRequest, Name: "Get System Boot Options"} CommandSetFrontPanelEnables = Command{ID: 0x0a, NetFn: NetFnChassisRequest, Name: "Set Front Panel Button Enables"} CommandSetPowerCycleInterval = Command{ID: 0x0b, NetFn: NetFnChassisRequest, Name: "Set Power Cycle Interval"} // 0ch -0eh unassigned CommandGetPOHCounter = Command{ID: 0x0f, NetFn: NetFnChassisRequest, Name: "Get POH Counter"} // Event Commands CommandSetEventReceiver = Command{ID: 0x00, NetFn: NetFnSensorEventRequest, Name: "Set Event Receiver"} CommandGetEventReceiver = Command{ID: 0x01, NetFn: NetFnSensorEventRequest, Name: "Get Event Receiver"} CommandPlatformEventMessage = Command{ID: 0x02, NetFn: NetFnSensorEventRequest, Name: "Platform Event (Event Message)"} // 03h -0fh unassigned // PEF and Alerting Commands CommandGetPEFCapabilities = Command{ID: 0x10, NetFn: NetFnSensorEventRequest, Name: "Get PEF Capabilities"} CommandArmPEFPostponeTimer = Command{ID: 0x11, NetFn: NetFnSensorEventRequest, Name: "Arm PEF Postpone Timer"} CommandSetPEFConfigParam = Command{ID: 0x12, NetFn: NetFnSensorEventRequest, Name: "Set PEF Configuration Param"} CommandGetPEFConfigParam = Command{ID: 0x13, NetFn: NetFnSensorEventRequest, Name: "Get PEF Configuration Param"} CommandSetLastProcessedEventId = Command{ID: 0x14, NetFn: NetFnSensorEventRequest, Name: "Set Last Processed Event ID"} CommandGetLastProcessedEventId = Command{ID: 0x15, NetFn: NetFnSensorEventRequest, Name: "Get Last Processed Event ID"} CommandAlertImmediate = Command{ID: 0x16, NetFn: NetFnSensorEventRequest, Name: "Alert Immediate"} CommandPETAcknowledge = Command{ID: 0x17, NetFn: NetFnSensorEventRequest, Name: "PET Acknowledge"} // Sensor Device Commands CommandGetDeviceSDRInfo = Command{ID: 0x20, NetFn: NetFnSensorEventRequest, Name: "Get Device SDR Info"} CommandGetDeviceSDR = Command{ID: 0x21, NetFn: NetFnSensorEventRequest, Name: "Get Device SDR"} CommandReserveDeviceSDRRepo = Command{ID: 0x22, NetFn: NetFnSensorEventRequest, Name: "Reserve Device SDR Repository"} CommandGetSensorReadingFactors = Command{ID: 0x23, NetFn: NetFnSensorEventRequest, Name: "Get Sensor Reading Factors"} CommandSetSensorHysteresis = Command{ID: 0x24, NetFn: NetFnSensorEventRequest, Name: "Set Sensor Hysteresis"} CommandGetSensorHysteresis = Command{ID: 0x25, NetFn: NetFnSensorEventRequest, Name: "Get Sensor Hysteresis"} CommandSetSensorThresholds = Command{ID: 0x26, NetFn: NetFnSensorEventRequest, Name: "Set Sensor Threshold"} CommandGetSensorThresholds = Command{ID: 0x27, NetFn: NetFnSensorEventRequest, Name: "Get Sensor Threshold"} CommandSetSensorEventEnable = Command{ID: 0x28, NetFn: NetFnSensorEventRequest, Name: "Set Sensor Event Enable"} CommandGetSensorEventEnable = Command{ID: 0x29, NetFn: NetFnSensorEventRequest, Name: "Get Sensor Event Enable"} CommandRearmSensorEvents = Command{ID: 0x2a, NetFn: NetFnSensorEventRequest, Name: "Re-arm Sensor Events"} CommandGetSensorEventStatus = Command{ID: 0x2b, NetFn: NetFnSensorEventRequest, Name: "Get Sensor Event Status"} // no 2c CommandGetSensorReading = Command{ID: 0x2d, NetFn: NetFnSensorEventRequest, Name: "Get Sensor Reading"} CommandSetSensorType = Command{ID: 0x2e, NetFn: NetFnSensorEventRequest, Name: "Set Sensor Type"} CommandGetSensorType = Command{ID: 0x2f, NetFn: NetFnSensorEventRequest, Name: "Get Sensor Type"} CommandSetSensorReadingAndEventStatus = Command{ID: 0x30, NetFn: NetFnSensorEventRequest, Name: "Set Sensor Reading And Event Status"} // FRU Device Commands CommandGetFRUInventoryAreaInfo = Command{ID: 0x10, NetFn: NetFnStorageRequest, Name: "Get FRU Inventory Area Info"} CommandReadFRUData = Command{ID: 0x11, NetFn: NetFnStorageRequest, Name: "Read FRU Data"} CommandWriteFRUData = Command{ID: 0x12, NetFn: NetFnStorageRequest, Name: "Write FRU Data"} // SDR Device Commands CommandGetSDRRepoInfo = Command{ID: 0x20, NetFn: NetFnStorageRequest, Name: "Get SDR Repository Info"} CommandGetSDRRepoAllocInfo = Command{ID: 0x21, NetFn: NetFnStorageRequest, Name: "Get SDR Repository Allocation Info"} CommandReserveSDRRepo = Command{ID: 0x22, NetFn: NetFnStorageRequest, Name: "Reserve SDR Repository"} CommandGetSDR = Command{ID: 0x23, NetFn: NetFnStorageRequest, Name: "Get SDR"} CommandAddSDR = Command{ID: 0x24, NetFn: NetFnStorageRequest, Name: "Add SDR"} CommandPartialAddSDR = Command{ID: 0x25, NetFn: NetFnStorageRequest, Name: "Partial Add SDR"} CommandDeleteSDR = Command{ID: 0x26, NetFn: NetFnStorageRequest, Name: "Delete SDR"} CommandClearSDRRepo = Command{ID: 0x27, NetFn: NetFnStorageRequest, Name: "Clear SDR Repository"} CommandGetSDRRepoTime = Command{ID: 0x28, NetFn: NetFnStorageRequest, Name: "Get SDR Repository Time"} CommandSetSDRRepoTime = Command{ID: 0x29, NetFn: NetFnStorageRequest, Name: "Set SDR Repository Time"} CommandEnterSDRRepoUpdateMode = Command{ID: 0x2a, NetFn: NetFnStorageRequest, Name: "Enter SDR Repository Update Mode"} CommandExitSDRRepoUpdateMode = Command{ID: 0x2b, NetFn: NetFnStorageRequest, Name: "Exit SDR Repository Update Mode"} CommandRunInitializationAgent = Command{ID: 0x2c, NetFn: NetFnStorageRequest, Name: "Run Initialization Agent"} // SEL Device Commands CommandGetSELInfo = Command{ID: 0x40, NetFn: NetFnStorageRequest, Name: "Get SEL Info"} CommandGetSELAllocInfo = Command{ID: 0x41, NetFn: NetFnStorageRequest, Name: "Get SEL Allocation Info"} CommandReserveSEL = Command{ID: 0x42, NetFn: NetFnStorageRequest, Name: "Reserve SEL"} CommandGetSELEntry = Command{ID: 0x43, NetFn: NetFnStorageRequest, Name: "Get SEL Entry"} CommandAddSELEntry = Command{ID: 0x44, NetFn: NetFnStorageRequest, Name: "Add SEL Entry"} CommandPartialAddSELEntry = Command{ID: 0x45, NetFn: NetFnStorageRequest, Name: "Partial Add SEL Entry"} CommandDeleteSELEntry = Command{ID: 0x46, NetFn: NetFnStorageRequest, Name: "Delete SEL Entry"} CommandClearSEL = Command{ID: 0x47, NetFn: NetFnStorageRequest, Name: "Clear SEL"} CommandGetSELTime = Command{ID: 0x48, NetFn: NetFnStorageRequest, Name: "Get SEL Time"} CommandSetSELTime = Command{ID: 0x49, NetFn: NetFnStorageRequest, Name: "Set SEL Time"} CommandGetAuxLogStatus = Command{ID: 0x5a, NetFn: NetFnStorageRequest, Name: "Get Auxiliary Log Status"} CommandSetAuxLogStatus = Command{ID: 0x5b, NetFn: NetFnStorageRequest, Name: "Set Auxiliary Log Status"} CommandGetSELTimeUTCOffset = Command{ID: 0x5c, NetFn: NetFnStorageRequest, Name: "Get SEL Time UTC Offset"} CommandSetSELTimeUTCOffset = Command{ID: 0x5d, NetFn: NetFnStorageRequest, Name: "Set SEL Time UTC Offset"} // LAN Device Commands CommandSetLanConfigParam = Command{ID: 0x01, NetFn: NetFnTransportRequest, Name: "Set LAN Configuration Param"} CommandGetLanConfigParam = Command{ID: 0x02, NetFn: NetFnTransportRequest, Name: "Get LAN Configuration Param"} CommandSuspendARPs = Command{ID: 0x03, NetFn: NetFnTransportRequest, Name: "Suspend BMC ARPs"} CommandGetIPStatistics = Command{ID: 0x04, NetFn: NetFnTransportRequest, Name: "Get IP/UDP/RMCP Statistics"} // Serial/Modem Device Commands CommandSetSerialConfig = Command{ID: 0x10, NetFn: NetFnTransportRequest, Name: "Set Serial/Modem Configuration"} CommandGetSerialConfig = Command{ID: 0x11, NetFn: NetFnTransportRequest, Name: "Get Serial/Modem Configuration"} CommandSetSerialMux = Command{ID: 0x12, NetFn: NetFnTransportRequest, Name: "Set Serial/Modem Mux"} CommandGetTapResponseCodes = Command{ID: 0x13, NetFn: NetFnTransportRequest, Name: "Get TAP Response Codes"} CommandSetPPPTransmitData = Command{ID: 0x14, NetFn: NetFnTransportRequest, Name: "Set PPP UDP Proxy Transmit Data"} CommandGetPPPTransmitData = Command{ID: 0x15, NetFn: NetFnTransportRequest, Name: "Get PPP UDP Proxy Transmit Data"} CommandSendPPPPacket = Command{ID: 0x16, NetFn: NetFnTransportRequest, Name: "Send PPP UDP Proxy Packet"} CommandGetPPPReceiveData = Command{ID: 0x17, NetFn: NetFnTransportRequest, Name: "Get PPP UDP Proxy Receive Data"} CommandSerialConnectionActive = Command{ID: 0x18, NetFn: NetFnTransportRequest, Name: "Serial/Modem Connection Active"} CommandCallback = Command{ID: 0x19, NetFn: NetFnTransportRequest, Name: "Callback"} CommandSetUserCallbackOptions = Command{ID: 0x1a, NetFn: NetFnTransportRequest, Name: "Set User Callback Options"} CommandGetUserCallbackOptions = Command{ID: 0x1b, NetFn: NetFnTransportRequest, Name: "Get User Callback Options"} CommandSetSerialRoutingMux = Command{ID: 0x1c, NetFn: NetFnTransportRequest, Name: "Set Serial Routing Mux"} CommandSOLActivating = Command{ID: 0x20, NetFn: NetFnTransportRequest, Name: "SOL Activating"} CommandSetSOLConfigParam = Command{ID: 0x21, NetFn: NetFnTransportRequest, Name: "Set SOL Configuration Param"} CommandGetSOLConfigParam = Command{ID: 0x22, NetFn: NetFnTransportRequest, Name: "Get SOL Configuration Param"} // Command Forwarding Commands CommandForwarded = Command{ID: 0x30, NetFn: NetFnTransportRequest, Name: "Forwarded Command"} CommandSetForwarded = Command{ID: 0x31, NetFn: NetFnTransportRequest, Name: "Set Forwarded Commands"} CommandGetForwarded = Command{ID: 0x32, NetFn: NetFnTransportRequest, Name: "Get Forwarded Commands"} CommandEnableForwarded = Command{ID: 0x33, NetFn: NetFnTransportRequest, Name: "Enable Forwarded Commands"} // Bridge Management Commands (ICMB) CommandGetBridgeState = Command{ID: 0x00, NetFn: NetFnBridgeRequest, Name: "Get Bridge State"} CommandSetBridgeState = Command{ID: 0x01, NetFn: NetFnBridgeRequest, Name: "Set Bridge State"} CommandGetICMBAddress = Command{ID: 0x02, NetFn: NetFnBridgeRequest, Name: "Get ICMB Address"} CommandSetICMBAddress = Command{ID: 0x03, NetFn: NetFnBridgeRequest, Name: "Set ICMB Address"} CommandSetBridgeProxyAddress = Command{ID: 0x04, NetFn: NetFnBridgeRequest, Name: "Set Bridge ProxyAddress"} CommandGetBridgeStatistics = Command{ID: 0x05, NetFn: NetFnBridgeRequest, Name: "Get Bridge Statistics"} CommandGetICMBCapabilities = Command{ID: 0x06, NetFn: NetFnBridgeRequest, Name: "Get ICMB Capabilities"} CommandClearBridgeStatistics = Command{ID: 0x08, NetFn: NetFnBridgeRequest, Name: "Clear Bridge Statistics"} CommandGetBridgeProxyAddress = Command{ID: 0x09, NetFn: NetFnBridgeRequest, Name: "Get Bridge Proxy Address"} CommandGetICMBConnectorInfo = Command{ID: 0x0a, NetFn: NetFnBridgeRequest, Name: "Get ICMB Connector Info"} CommandGetICMBConnectionID = Command{ID: 0x0b, NetFn: NetFnBridgeRequest, Name: "Get ICMB Connection ID"} CommandSendICMBConnectionID = Command{ID: 0x0c, NetFn: NetFnBridgeRequest, Name: "Send ICMB Connection ID"} // Discovery Commands (ICMB) CommandPrepareForDiscovery = Command{ID: 0x10, NetFn: NetFnBridgeRequest, Name: "Prepare For Discovery"} CommandGetAddresses = Command{ID: 0x11, NetFn: NetFnBridgeRequest, Name: "Get Addresses"} CommandSetDiscovered = Command{ID: 0x12, NetFn: NetFnBridgeRequest, Name: "Set Discovered"} CommandGetChassisDeviceId = Command{ID: 0x13, NetFn: NetFnBridgeRequest, Name: "Get Chassis DeviceId"} CommandSetChassisDeviceId = Command{ID: 0x14, NetFn: NetFnBridgeRequest, Name: "Set Chassis DeviceId"} // Bridging Commands (ICMB) CommandBridgeRequest = Command{ID: 0x20, NetFn: NetFnBridgeRequest, Name: "Bridge Request"} CommandBridgeMessage = Command{ID: 0x21, NetFn: NetFnBridgeRequest, Name: "Bridge Message"} // Event Commands (ICMB) CommandGetEventCount = Command{ID: 0x30, NetFn: NetFnBridgeRequest, Name: "Get Event Count"} CommandSetEventDestination = Command{ID: 0x31, NetFn: NetFnBridgeRequest, Name: "Set Event Destination"} CommandSetEventReceptionState = Command{ID: 0x32, NetFn: NetFnBridgeRequest, Name: "Set Event Reception State"} CommandSendICMBEventMessage = Command{ID: 0x33, NetFn: NetFnBridgeRequest, Name: "Send ICMB Event Message"} CommandGetEventDestination = Command{ID: 0x34, NetFn: NetFnBridgeRequest, Name: "Get Event Destination"} CommandGetEventReceptionState = Command{ID: 0x35, NetFn: NetFnBridgeRequest, Name: "Get Event Reception State"} // Other Bridge Commands CommandErrorReport = Command{ID: 0xff, NetFn: NetFnBridgeRequest, Name: "Error Report"} // Intel DCMI extensions (https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/dcmi-v1-5-rev-spec.pdf) CommandGetDCMICapParam = Command{ID: 0x01, NetFn: NetFnGroupExtensionRequest, Name: "Get DCMI Cap Param"} CommandGetDCMIPowerReading = Command{ID: 0x02, NetFn: NetFnGroupExtensionRequest, Name: "Get DCMI Power Reading"} CommandGetDCMIPowerLimit = Command{ID: 0x03, NetFn: NetFnGroupExtensionRequest, Name: "Get DCMI Power Limit"} CommandSetDCMIPowerLimit = Command{ID: 0x04, NetFn: NetFnGroupExtensionRequest, Name: "Set DCMI Power Limit"} CommandActivateDCMIPowerLimit = Command{ID: 0x05, NetFn: NetFnGroupExtensionRequest, Name: "Activate/Deactivate DCMI Power Limit"} CommandGetDCMIAssetTag = Command{ID: 0x06, NetFn: NetFnGroupExtensionRequest, Name: "Get DCMI Asset Tag"} CommandGetDCMISensorInfo = Command{ID: 0x07, NetFn: NetFnGroupExtensionRequest, Name: "Get DCMI Sensor Info"} CommandSetDCMIAssetTag = Command{ID: 0x08, NetFn: NetFnGroupExtensionRequest, Name: "Set DCMI Asset Tag"} CommandGetDCMIMgmtControllerIdentifier = Command{ID: 0x09, NetFn: NetFnGroupExtensionRequest, Name: "Get DCMI Management Controller Identifier String"} CommandSetDCMIMgmtControllerIdentifier = Command{ID: 0x0A, NetFn: NetFnGroupExtensionRequest, Name: "Set DCMI Management Controller Identifier String"} CommandSetDCMIThermalLimit = Command{ID: 0x0B, NetFn: NetFnGroupExtensionRequest, Name: "Set DCMI Thermal Limit"} CommandGetDCMIThermalLimit = Command{ID: 0x0C, NetFn: NetFnGroupExtensionRequest, Name: "Get DCMI Thermal Limit"} CommandGetDCMITemperatureReadings = Command{ID: 0x10, NetFn: NetFnGroupExtensionRequest, Name: "Get DCMI Temperature Readings"} CommandSetDCMIConfigParam = Command{ID: 0x12, NetFn: NetFnGroupExtensionRequest, Name: "Set DCMI Configuration Param"} CommandGetDCMIConfigParam = Command{ID: 0x13, NetFn: NetFnGroupExtensionRequest, Name: "Get DCMI Configuration Param"} // Vendor Specific Commands CommandGetSupermicroBiosVersion = Command{ID: 0xAC, NetFn: NetFnOEMSupermicroRequest, Name: "Get Supermicro BIOS Version"} )
Appendix G - Command Assignments Command Number Assignments (Appendix G, table G-1)
var ( SensorEvent_UNC_High_Assert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_UNC, Assert: true, High: true, } SensorEvent_UNC_Low_Assert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_UNC, Assert: true, High: false, } SensorEvent_LNR_High_Assert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_LNR, Assert: true, High: true, } SensorEvent_LNR_Low_Assert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_LNR, Assert: true, High: false, } SensorEvent_LCR_High_Assert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_LCR, Assert: true, High: true, } SensorEvent_LCR_Low_Assert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_LCR, Assert: true, High: false, } SensorEvent_LNC_High_Assert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_LNC, Assert: true, High: true, } SensorEvent_LNC_Low_Assert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_LNC, Assert: true, High: false, } SensorEvent_UNR_High_Assert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_UNR, Assert: true, High: true, } SensorEvent_UNR_Low_Assert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_UNR, Assert: true, High: false, } SensorEvent_UCR_High_Assert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_UCR, Assert: true, High: true, } SensorEvent_UCR_Low_Assert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_UCR, Assert: true, High: false, } SensorEvent_State_14_Assert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: true, State: 14, } SensorEvent_State_13_Assert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: true, State: 13, } SensorEvent_State_12_Assert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: true, State: 12, } SensorEvent_State_11_Assert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: true, State: 11, } SensorEvent_State_10_Assert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: true, State: 10, } SensorEvent_State_9_Assert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: true, State: 9, } SensorEvent_State_8_Assert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: true, State: 8, } SensorEvent_State_7_Assert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: true, State: 7, } SensorEvent_State_6_Assert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: true, State: 6, } SensorEvent_State_5_Assert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: true, State: 5, } SensorEvent_State_4_Assert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: true, State: 4, } SensorEvent_State_3_Assert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: true, State: 3, } SensorEvent_State_2_Assert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: true, State: 2, } SensorEvent_State_1_Assert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: true, State: 1, } SensorEvent_State_0_Assert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: true, State: 0, } SensorEvent_UNC_High_Deassert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_UNC, Assert: false, High: true, } SensorEvent_UNC_Low_Deassert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_UNC, Assert: false, High: true, } SensorEvent_LNR_High_Deassert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_LNR, Assert: false, High: true, } SensorEvent_LNR_Low_Deassert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_LNR, Assert: false, High: false, } SensorEvent_LCR_High_Deassert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_LCR, Assert: false, High: true, } SensorEvent_LCR_Low_Deassert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_LCR, Assert: false, High: false, } SensorEvent_LNC_High_Deassert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_LNC, Assert: false, High: true, } SensorEvent_LNC_Low_Deassert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_LNC, Assert: false, High: false, } SensorEvent_UNR_High_Deassert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_UNR, Assert: false, High: true, } SensorEvent_UNR_Low_Deassert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_UNR, Assert: false, High: false, } SensorEvent_UCR_High_Deassert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_UCR, Assert: false, High: true, } SensorEvent_UCR_Low_Deassert = SensorEvent{ SensorClass: SensorClassThreshold, ThresholdType: SensorThresholdType_UCR, Assert: false, High: false, } SensorEvent_State_14_Deassert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: false, State: 14, } SensorEvent_State_13_Deassert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: false, State: 13, } SensorEvent_State_12_Deassert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: false, State: 12, } SensorEvent_State_11_Deassert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: false, State: 11, } SensorEvent_State_10_Deassert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: false, State: 10, } SensorEvent_State_9_Deassert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: false, State: 9, } SensorEvent_State_8_Deassert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: false, State: 8, } SensorEvent_State_7_Deassert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: false, State: 7, } SensorEvent_State_6_Deassert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: false, State: 6, } SensorEvent_State_5_Deassert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: false, State: 5, } SensorEvent_State_4_Deassert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: false, State: 4, } SensorEvent_State_3_Deassert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: false, State: 3, } SensorEvent_State_2_Deassert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: false, State: 2, } SensorEvent_State_1_Deassert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: false, State: 1, } SensorEvent_State_0_Deassert = SensorEvent{ SensorClass: SensorClassDiscrete, Assert: false, State: 0, } )
var GenericEvents = map[EventReadingType]map[uint8]Event{ EventReadingTypeThreshold: { 0x00: { EventName: "Lower Non-critical - going low", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, }, 0x01: { EventName: "Lower Non-critical - going high", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, }, 0x02: { EventName: "Lower Critical - going low", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x03: { EventName: "Lower Critical - going high", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x04: { EventName: "Lower Non-recoverable - going low", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, }, 0x5: { EventName: "Lower Non-recoverable - going high", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, }, 0x06: { EventName: "Upper Non-critical - going low", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, }, 0x07: { EventName: "Upper Non-critical - going high", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, }, 0x08: { EventName: "Upper Critical - going low", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x09: { EventName: "Upper Critical - going high", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x0a: { EventName: "Upper Non-recoverable - going low", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, }, 0x0b: { EventName: "Upper Non-recoverable - going high", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, }, }, EventReadingTypeTransitionState: { 0x00: { EventName: "Transition to Idle", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, SensorTypeSystemEvent: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, SensorTypeSystemEvent: EventSeverityInfo, }, }, 0x01: { EventName: "Transition to Active", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, SensorTypeSystemEvent: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, SensorTypeSystemEvent: EventSeverityInfo, }, }, 0x02: { EventName: "Transition to Busy", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, SensorTypeSystemEvent: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, SensorTypeSystemEvent: EventSeverityInfo, }, }, }, EventReadingTypeState: { 0x00: { EventName: "State Deasserted", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, SensorTypeSystemEvent: EventSeverityInfo, SensorTypeButtonSwitch: EventSeverityInfo, SensorTypeModuleBoard: EventSeverityInfo, SensorTypeBootError: EventSeverityInfo, SensorTypeOSStopShutdown: EventSeverityInfo, SensorTypePlatformAlert: EventSeverityInfo, SensorTypeTemperature: EventSeverityInfo, SensorTypeVoltage: EventSeverityInfo, SensorTypeFan: EventSeverityInfo, SensorTypeProcessor: EventSeverityInfo, SensorTypePowerSupply: EventSeverityInfo, SensorTypePowerUnit: EventSeverityInfo, SensorTypeMemory: EventSeverityInfo, SensorTypeDriveSlot: EventSeverityWarning, SensorTypePostMemoryResize: EventSeverityInfo, SensorTypeSystemFirmwareProgress: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, SensorTypeSystemEvent: EventSeverityInfo, SensorTypeButtonSwitch: EventSeverityInfo, SensorTypeModuleBoard: EventSeverityInfo, SensorTypeBootError: EventSeverityInfo, SensorTypeOSStopShutdown: EventSeverityInfo, SensorTypePlatformAlert: EventSeverityInfo, SensorTypeTemperature: EventSeverityInfo, SensorTypeVoltage: EventSeverityInfo, SensorTypeFan: EventSeverityInfo, SensorTypeProcessor: EventSeverityInfo, SensorTypePowerSupply: EventSeverityInfo, SensorTypePowerUnit: EventSeverityInfo, SensorTypeMemory: EventSeverityInfo, SensorTypeDriveSlot: EventSeverityWarning, SensorTypePostMemoryResize: EventSeverityInfo, SensorTypeSystemFirmwareProgress: EventSeverityInfo, }, }, 0x01: { EventName: "State Asserted", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, SensorTypeSystemEvent: EventSeverityWarning, SensorTypeButtonSwitch: EventSeverityInfo, SensorTypeModuleBoard: EventSeverityCritical, SensorTypeBootError: EventSeverityCritical, SensorTypeOSStopShutdown: EventSeverityCritical, SensorTypePlatformAlert: EventSeverityCritical, SensorTypeTemperature: EventSeverityWarning, SensorTypeVoltage: EventSeverityWarning, SensorTypeFan: EventSeverityWarning, SensorTypeProcessor: EventSeverityCritical, SensorTypePowerSupply: EventSeverityWarning, SensorTypePowerUnit: EventSeverityWarning, SensorTypeMemory: EventSeverityCritical, SensorTypeDriveSlot: EventSeverityInfo, SensorTypePostMemoryResize: EventSeverityWarning, SensorTypeSystemFirmwareProgress: EventSeverityWarning, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, SensorTypeSystemEvent: EventSeverityWarning, SensorTypeButtonSwitch: EventSeverityInfo, SensorTypeModuleBoard: EventSeverityCritical, SensorTypeBootError: EventSeverityCritical, SensorTypeOSStopShutdown: EventSeverityCritical, SensorTypePlatformAlert: EventSeverityCritical, SensorTypeTemperature: EventSeverityWarning, SensorTypeVoltage: EventSeverityWarning, SensorTypeFan: EventSeverityWarning, SensorTypeProcessor: EventSeverityCritical, SensorTypePowerSupply: EventSeverityWarning, SensorTypePowerUnit: EventSeverityWarning, SensorTypeMemory: EventSeverityCritical, SensorTypeDriveSlot: EventSeverityInfo, SensorTypePostMemoryResize: EventSeverityWarning, SensorTypeSystemFirmwareProgress: EventSeverityWarning, }, }, }, EventReadingTypePredictiveFailure: { 0x00: { EventName: "Predictive Failure de-asserted", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, SensorTypeDriveSlot: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, SensorTypeDriveSlot: EventSeverityInfo, }, }, 0x01: { EventName: "Predictive Failure asserted", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, SensorTypeDriveSlot: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, SensorTypeDriveSlot: EventSeverityCritical, }, }, }, EventReadingTypeLimit: { 0x00: { EventName: "Limit Not Exceeded", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, SensorTypeTemperature: EventSeverityInfo, SensorTypeVoltage: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, SensorTypeTemperature: EventSeverityInfo, SensorTypeVoltage: EventSeverityInfo, }, }, 0x01: { EventName: "Limit Exceeded", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, SensorTypeTemperature: EventSeverityCritical, SensorTypeVoltage: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, SensorTypeTemperature: EventSeverityCritical, SensorTypeVoltage: EventSeverityCritical, }, }, }, EventReadingTypePerformance: { 0x00: { EventName: "Performance Met", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, SensorTypeVoltage: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, SensorTypeVoltage: EventSeverityInfo, }, }, 0x01: { EventName: "Performance Lags", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, SensorTypeVoltage: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, SensorTypeVoltage: EventSeverityCritical, }, }, }, EventReadingTypeTransitionSeverity: { 0x00: { EventName: "transition to OK", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, }, 0x01: { EventName: "transition to Non-Critical from OK", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x02: { EventName: "transition to Critical from less severe", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, }, 0x03: { EventName: "transition to Non-recoverable from less severe", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, }, 0x04: { EventName: "transition to Non-Critical from more severe", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x05: { EventName: "transition to Critical from Non-recoverable", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, }, 0x06: { EventName: "transition to Non-recoverable", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, }, 0x07: { EventName: "Monitor", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x08: { EventName: "Informational", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, }, }, EventReadingTypeDevicePresent: { 0x00: { EventName: "Device Removed / Device Absent", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, }, 0x01: { EventName: "Device Inserted / Device Present", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, }, }, EventReadingTypeDeviceEnabled: { 0x00: { EventName: "Device Disabled", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, }, 0x01: { EventName: "Device Enabled", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, }, }, EventReadingTypeTransitionAvailability: { 0x00: { EventName: "transition to Running", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, }, 0x01: { EventName: "transition to In Test", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x02: { EventName: "transition to Power Off", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x03: { EventName: "transition to On Line", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x04: { EventName: "transition to Off Line", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x05: { EventName: "transition to Off Duty", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x06: { EventName: "transition to Degraded", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, }, 0x07: { EventName: "transition to Power Save", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x08: { EventName: "Install Error", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, }, }, EventReadingTypeRedundancy: { 0x00: { EventName: "Fully Redundant", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, }, 0x01: { EventName: "Redundancy Lost", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x02: { EventName: "Redundancy Degraded", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x03: { EventName: "Non-redundant (Sufficient Resources from Redundant)", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x04: { EventName: "Non-redundant (Sufficient Resources from Insufficient Resources)", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x05: { EventName: "Non-redundant (Insufficient Resources)", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityCritical, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x06: { EventName: "Redundancy Degraded from Fully Redundant", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, 0x07: { EventName: "Redundancy Degraded from Non-redundant", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityWarning, }, }, }, EventReadingTypeACPIPowerState: { 0x00: { EventName: "D0 Power State", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, }, 0x01: { EventName: "D1 Power State", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, }, 0x02: { EventName: "D2 Power State", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, }, 0x03: { EventName: "D3 Power State", AssertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, DeassertionSeverityMap: map[SensorType]EventSeverity{ SensorTypeReserved: EventSeverityInfo, }, }, }, }
Table 42-2, Generic Event/Reading Type Codes Including Generic threshold-based events (0x01) and Generic discrete-based events (0x02 - 0x0c)
map[EventReadingType]: map[Offset]Event
The severity is copied from freeipmi/libfreeipmi/interpret/ipmi-interpret-config-sel.c
var PreferredCiphers = []CipherSuiteID{ CipherSuiteID17, CipherSuiteID3, CipherSuiteID15, CipherSuiteID16, CipherSuiteID18, CipherSuiteID19, CipherSuiteID6, CipherSuiteID7, CipherSuiteID8, CipherSuiteID11, CipherSuiteID12, }
var SensorSpecificEvents = map[SensorType]map[uint8]Event{ SensorTypeReserved: {}, SensorTypeTemperature: {}, SensorTypeVoltage: {}, SensorTypeCurrent: {}, SensorTypeFan: {}, SensorTypePhysicalSecurity: { 0x00: { EventName: "General Chassis Intrusion", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x01: { EventName: "Drive Bay intrusion", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x02: { EventName: "I/O Card area intrusion", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x03: { EventName: "Processor area intrusion", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x04: { EventName: "LAN Leash Lost (system is unplugged from LAN)", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x05: { EventName: "Unauthorized dock", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x06: { EventName: "FAN area intrusion", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, }, SensorTypePlatformSecurity: { 0x00: { EventName: "Secure Mode (Front Panel Lockout) Violation attempt", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x01: { EventName: "Pre-boot Password Violation - user password", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x02: { EventName: "Pre-boot Password Violation attempt - setup password", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x03: { EventName: "Pre-boot Password Violation - network boot password", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x04: { EventName: "Other pre-boot Password Violation", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x05: { EventName: "Out-of-band Access Password Violation", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, }, SensorTypeProcessor: { 0x00: { EventName: "IERR", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x01: { EventName: "Thermal Trip", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x02: { EventName: "FRB1/BIST failure", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x03: { EventName: "FRB2/Hang in POST failure", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x04: { EventName: "FRB3/Processor Startup/Initialization failure (CPU didn't start)", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x05: { EventName: "Configuration Error", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x06: { EventName: "SM BIOS 'Uncorrectable CPU-complex Error'", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x07: { EventName: "Processor Presence detected", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x08: { EventName: "Processor disabled", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x09: { EventName: "Terminator Presence Detected", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x0a: { EventName: "Processor Automatically Throttled", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x0b: { EventName: "Machine Check Exception (Uncorrectable)", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x0c: { EventName: "Correctable Machine Check Error", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, }, SensorTypePowerSupply: { 0x00: { EventName: "Presence detected", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x01: { EventName: "Power Supply Failure detected", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x02: { EventName: "Predictive Failure", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x03: { EventName: "Power Supply input lost (AC/DC)", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityWarning, }, 0x04: { EventName: "Power Supply input lost or out-of-range", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityWarning, }, 0x05: { EventName: "Power Supply input out-of-range, but present", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityWarning, }, 0x06: { EventName: "Configuration error", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x07: { EventName: "Power Supply Inactive (in standby state)", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, }, SensorTypePowerUnit: { 0x00: { EventName: "Power Off / Power Dow", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x01: { EventName: "Power Cycle", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x02: { EventName: "240VA Power Down", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityInfo, }, 0x03: { EventName: "Interlock Power Down", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x04: { EventName: "AC lost / Power input lost ", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityWarning, }, 0x05: { EventName: "Soft Power Control Failure", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x06: { EventName: "Power Unit Failure detected", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x07: { EventName: "Predictive Failure", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, }, SensorTypeCollingDevice: {}, SensorTypeOtherUnitsbased: {}, SensorTypeMemory: { 0x00: { EventName: "Correctable ECC / other correctable memory error", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x01: { EventName: "Uncorrectable ECC / other uncorrectable memory error", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x02: { EventName: "Parity", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x03: { EventName: "Memory Scrub Failed (stuck bit)", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x04: { EventName: "Memory Device Disabled", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x05: { EventName: "Correctable ECC / other correctable memory error logging limit reached", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x06: { EventName: "Presence detected", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x07: { EventName: "Configuration error", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x08: { EventName: "Spare", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x09: { EventName: "Memory Automatically Throttled", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x0a: { EventName: "Critical Overtemperature", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, }, SensorTypeDriveSlot: { 0x00: { EventName: "Drive Presence", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x01: { EventName: "Drive Fault", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x02: { EventName: "Predictive Failure", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x03: { EventName: "Hot Spare", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x04: { EventName: "Consistency Check / Parity Check in progress", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x05: { EventName: "In Critical Array", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x06: { EventName: "In Failed Array", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x07: { EventName: "Rebuild/Remap in progress", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x08: { EventName: "Rebuild/Remap Aborted (was not completed normally)", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, }, SensorTypePostMemoryResize: {}, SensorTypeSystemFirmwareProgress: { 0x00: { EventName: "System Firmware Error (POST Error)", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x01: { EventName: "System Firmware Hang", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x02: { EventName: "System Firmware Progress", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, }, SensorTypeEventLoggingDisabled: { 0x00: { EventName: "Correctable Memory Error Logging Disabled", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x01: { EventName: "Event 'Type' Logging Disabled", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x02: { EventName: "Log Area Reset/Cleared", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x03: { EventName: "All Event Logging Disabled", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x04: { EventName: "SEL Full", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x05: { EventName: "SEL Almost Full", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x06: { EventName: "Correctable Machine Check Error Logging Disabled", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, }, SensorTypeWatchdog1: { 0x00: { EventName: "BIOS Watchdog Reset", }, 0x01: { EventName: "OS Watchdog Reset", }, 0x02: { EventName: "OS Watchdog Shut Down", }, 0x03: { EventName: "OS Watchdog Power Down", }, 0x04: { EventName: "OS Watchdog Power Cycle", }, 0x05: { EventName: "OS Watchdog NMI / Diagnostic Interrupt", }, 0x06: { EventName: "OS Watchdog Expired, status only", }, 0x07: { EventName: "OS Watchdog pre-timeout Interrupt, non-NMI", }, }, SensorTypeSystemEvent: { 0x00: { EventName: "System Reconfigured", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x01: { EventName: "OEM System Boot Event", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x02: { EventName: "Undetermined system hardware failure", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x03: { EventName: "Entry added to Auxiliary Log", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x04: { EventName: "PEF Action", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x05: { EventName: "Timestamp Clock Synch", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, }, SensorTypeCriticalInterrupt: { 0x00: { EventName: "Front Panel NMI / Diagnostic Interrupt", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x01: { EventName: "Bus Timeout", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x02: { EventName: "I/O channel check NMI", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x03: { EventName: "Software NMI", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x04: { EventName: "PCI PERR", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x05: { EventName: "PCI SERR", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x06: { EventName: "EISA Fail Safe Timeout", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x07: { EventName: "Bus Correctable Error", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x08: { EventName: "Bus Uncorrectable Error", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x09: { EventName: "Fatal NMI", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x0a: { EventName: "Bus Fatal Error", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x0b: { EventName: "Bus Degraded", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, }, SensorTypeButtonSwitch: { 0x00: { EventName: "Power Button pressed", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x01: { EventName: "Sleep Button pressed", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x02: { EventName: "Reset Button pressed", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x03: { EventName: "FRU latch open", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x04: { EventName: "FRU service request button", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, }, SensorTypeModuleBoard: {}, SensorTypeMicrocontrollerCoprocessor: {}, SensorTypeAddinCard: {}, SensorTypeChassis: {}, SensorTypeChipSet: { 0x00: { EventName: "Soft Power Control Failure", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x01: { EventName: "Thermal Trip", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, }, SensorTypeOtherFRU: {}, SensorTypeCableInterconnect: { 0x00: { EventName: "Cable/Interconnect is connected", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x01: { EventName: "Configuration Error - Incorrect cable connected / Incorrect interconnection", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, }, SensorTypeTerminator: {}, SensorTypeSystemBootRestartInitiated: { 0x00: { EventName: "Initiated by power up", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x01: { EventName: "Initiated by hard reset", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x02: { EventName: "Initiated by warm reset", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x03: { EventName: "User requested PXE boot", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x04: { EventName: "Automatic boot to diagnostic", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x05: { EventName: "OS / run-time software initiated hard reset", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x06: { EventName: "OS / run-time software initiated warm reset", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x07: { EventName: "System Restart", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, }, SensorTypeBootError: { 0x00: { EventName: "No bootable media", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x01: { EventName: "Non-bootable diskette left in drive", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x02: { EventName: "PXE Server not found", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x03: { EventName: "Invalid boot sector", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x04: { EventName: "Timeout waiting for user selection of boot source", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, }, SensorTypeBaseOSBootInstallationStatus: { 0x00: { EventName: "A: boot completed", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x01: { EventName: "C: boot completed", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x02: { EventName: "PXE boot completed", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x03: { EventName: "Diagnostic boot completed", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x04: { EventName: "CD-ROM boot completed", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x05: { EventName: "ROM boot completed", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x06: { EventName: "boot completed - boot device not specified", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x07: { EventName: "Base OS/Hypervisor Installation started", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x08: { EventName: "Base OS/Hypervisor Installation completed", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x09: { EventName: "Base OS/Hypervisor Installation aborted", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x0a: { EventName: "Base OS/Hypervisor Installation failed", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, }, SensorTypeOSStopShutdown: { 0x00: { EventName: "Critical stop during OS load / initialization", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x01: { EventName: "Run-time Critical Stop", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x02: { EventName: "OS Graceful Stop", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x03: { EventName: "OS Graceful Shutdown", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x04: { EventName: "Soft Shutdown initiated by PEF", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x05: { EventName: "Agent Not Responding", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, }, SensorTypeSlotConnector: { 0x00: { EventName: "Fault Status asserted", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x01: { EventName: "Identify Status asserted", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x02: { EventName: "Slot / Connector Device installed/attached", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x03: { EventName: "Slot / Connector Ready for Device Installation", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x04: { EventName: "Slot/Connector Ready for Device Removal", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x05: { EventName: "Slot Power is Off", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x06: { EventName: "Slot / Connector Device Removal Request", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x07: { EventName: "Interlock asserted", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x08: { EventName: "Slot is Disabled", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x09: { EventName: "Slot holds spare device", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, }, SensorTypeSystemACPIPowerState: { 0x00: { EventName: "S0 / G0 (working)", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x01: { EventName: "S1 (sleeping with system h/w & processor context maintained)", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x02: { EventName: "S2 (sleeping, processor context lost)", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x03: { EventName: "S3 (sleeping, processor & h/w context lost, memory retained)", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x04: { EventName: "S4 (non-volatile sleep / suspend-to disk)", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x05: { EventName: "S5 / G2 (soft-off)", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x06: { EventName: "S4 / S5 soft-off, particular S4 / S5 state cannot be determined", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x07: { EventName: "G3 / Mechanical Off", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x08: { EventName: "Sleeping in an S1, S2, or S3 states", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x09: { EventName: "G1 sleeping", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x0a: { EventName: "S5 entered by override", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x0b: { EventName: "Legacy ON state", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x0c: { EventName: "Legacy OFF state", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x0e: { EventName: "Unknown", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, }, SensorTypeWatchdog2: { 0x00: { EventName: "Timer expired, status only (no action, no interrupt)", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x01: { EventName: "Hard Reset", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x02: { EventName: "Power Down", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x03: { EventName: "Power Cycle", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x08: { EventName: "Timer interrupt", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, }, SensorTypePlatformAlert: { 0x00: { EventName: "platform generated page", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x01: { EventName: "platform generated LAN alert", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x02: { EventName: "Platform Event Trap generated", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x03: { EventName: "platform generated SNMP trap", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, }, SensorTypeEntityPresence: { 0x00: { EventName: "Entity Present", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x01: { EventName: "Entity Absent", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x02: { EventName: "Entity Disable", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, }, SensorTypeMonitorASIC: {}, SensorTypeLAN: { 0x00: { EventName: "LAN Heartbeat Lost", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x01: { EventName: "LAN Heartbeat", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, }, SensorTypeManagementSubsystemHealth: { 0x00: { EventName: "sensor access degraded or unavailable", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x01: { EventName: "controller access degraded or unavailable", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x02: { EventName: "management controller off-line", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x03: { EventName: "management controller unavailable", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x04: { EventName: "Sensor failure", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x05: { EventName: "FRU failure", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, }, SensorTypeBattery: { 0x00: { EventName: "battery low (predictive failure)", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x01: { EventName: "battery failed", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x02: { EventName: "battery presence detected", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, }, SensorTypeSessionAudit: { 0x00: { EventName: "Session Activated", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x01: { EventName: "Session Deactivated", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x02: { EventName: "Invalid Username or Password", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x03: { EventName: "Invalid password disable", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, }, SensorTypeVersionChange: { 0x00: { EventName: "Hardware change detected with associated Entity", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x01: { EventName: "Firmware or software change detected with associated Entity", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x02: { EventName: "Hardware incompatibility detected with associated Entity", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x03: { EventName: "Firmware or software incompatibility detected with associated Entity", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x04: { EventName: "Entity is of an invalid or unsupported hardware version", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x05: { EventName: "Entity contains an invalid or unsupported firmware or software version", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x06: { EventName: "Hardware Change detected with associated Entity was successful", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x07: { EventName: "Software or F/W Change detected with associated Entity was successful", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, }, SensorTypeFRUState: { 0x00: { EventName: "FRU Not Installed", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x01: { EventName: "FRU Inactive (in standby or 'hot spare' state)", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, 0x02: { EventName: "FRU Activation Requested", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x03: { EventName: "FRU Activation In Progress", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x04: { EventName: "FRU Active", AssertionSeverity: EventSeverityInfo, DeassertionSeverity: EventSeverityInfo, }, 0x05: { EventName: "FRU Deactivation Requested", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x06: { EventName: "FRU Deactivation In Progress", AssertionSeverity: EventSeverityWarning, DeassertionSeverity: EventSeverityWarning, }, 0x07: { EventName: "FRU Communication Lost", AssertionSeverity: EventSeverityCritical, DeassertionSeverity: EventSeverityCritical, }, }, }
42.2 Sensor Type Codes and Data Sensor Specific Events SensorType, Offset
Functions ¶
func AllCC ¶
AllCC returns a new map of generic completion codes merged with any command-specific codes defined for cmd. Prefer StrCC when only one code needs a name.
func AnalogValue ¶
func AnalogValue(raw uint8, format SensorAnalogUnitFormat) int32
The raw analog data is unpacked as an unsigned integer. But whether it is a positive number (>0) or negative number (<0) is determined by the "analog data format" field (SensorUnit.AnalogDataFormat)
func CommandSpecificCC ¶
CommandSpecificCC returns the command-specific completion-code name map for cmd. Returns nil when the command defines none. The returned map is shared package state; callers must treat it as read-only.
func ConvertReading ¶
func ConvertReading(raw uint8, analogDataFormat SensorAnalogUnitFormat, factors ReadingFactors, linearizationFunc LinearizationFunc) float64
ConvertReading converts raw sensor reading or raw sensor threshold value to real value in the desired units for the sensor.
see: 36.3 Sensor Reading Conversion Formula
INPUT: raw (unsigned)
-- APPLY: analogDataFormat
--> GOT: analog (signed)
-- APPLY: factors/linearization
--> GOT: converted (float64)
func ConvertSensorHysteresis ¶
func ConvertSensorHysteresis(raw uint8, analogDataFormat SensorAnalogUnitFormat, factors ReadingFactors, linearizationFunc LinearizationFunc) float64
ConvertSensorHysteresis converts raw sensor hysteresis value to real value in the desired units for the sensor.
see: 36.3 Sensor Reading Conversion Formula
func ConvertSensorTolerance ¶
func ConvertSensorTolerance(raw uint8, analogDataFormat SensorAnalogUnitFormat, factors ReadingFactors, linearizationFunc LinearizationFunc) float64
ConvertSensorTolerance converts raw sensor tolerance value to real value in the desired units for the sensor.
see: 36.4.1 Tolerance
func FRUFieldString ¶
func FRUFieldString(tl TypeLength, raw []byte) string
func FormatEventFilters ¶
func FormatEventFilters(eventFilters []*PEFEventFilter) string
func FormatGUIDDetails ¶
func FormatPEFAlertPolicyTable ¶
func FormatPEFAlertPolicyTable(alertPolicies []*PEFAlertPolicy) string
func FormatSDRs ¶
FormatSDRs returns a table formatted string for print.
func FormatSELs ¶
func FormatSELs(records []*SEL, sdrMap SDRMapBySensorNumber) string
FormatSELs print sel records in table format. The second sdrMap is optional. If the sdrMap is not nil, it will also print sensor number, entity id and instance, and asserted discrete states. The sdrMap can be fetched by GetSDRsMap method.
func FormatSELsStream ¶
func FormatSensors ¶
FormatSensors return a string of table printed for sensors
func FormatSensorsStream ¶
func GetCipherSuiteAlgorithms ¶
func GetCipherSuiteAlgorithms(cipherSuiteID CipherSuiteID) (authAlg AuthAlg, integrity IntegrityAlg, encryptionAlg CryptAlg, ok bool)
getCipherSuiteAlgorithms returns AuthAlg, IntegrityAlg and CryptAlg of the specified cipherSuiteID.
func IntegrityPadLen ¶
IntegrityPadLen returns the number of 0xFF Integrity Pad bytes needed so that (session header || payload || pad || Pad Length || Next Header) is a multiple of 4 bytes before the AuthCode field (v2.0§13.28.4 / Table 13-8).
func IsNilBootOptionParameter ¶
func IsNilBootOptionParameter(param BootOptionParameter) bool
func IsNilDCMICapParameter ¶
func IsNilDCMICapParameter(param DCMICapParameter) bool
func IsNilDCMIConfigParameter ¶
func IsNilDCMIConfigParameter(param DCMIConfigParameter) bool
func IsNilLanConfigParameter ¶
func IsNilLanConfigParameter(param LanConfigParameter) bool
func IsNilPEFConfigParameter ¶
func IsNilPEFConfigParameter(param PEFConfigParameter) bool
func IsNilSOLConfigParameter ¶
func IsNilSOLConfigParameter(param SOLConfigParameter) bool
func IsNilSystemInfoParamete ¶
func IsNilSystemInfoParamete(param SystemInfoParameter) bool
func OneSComplement ¶
onesComplement returns the signed integer of the input number encoded with 1's complement. The lowest significant 'bitSize' bits of the input number i is considered.
func OneSComplementEncode ¶
func PackCompactSensor ¶
func PackCompactSensor(opts CompactSensorPackOpts) []byte
PackCompactSensor builds a Type 02h Compact Sensor wire record per §43.2. The layout matches [parseSDRCompactSensor].
func PackFRU ¶
func PackFRU(cfg FRUPackConfig) ([]byte, error)
PackFRU serialises a FRU inventory area per Platform Management FRU v1.0.
func PackFRUInventory ¶
PackFRUInventory serialises a parsed FRU to wire bytes per Platform Management FRU v1.0.
func PackMCLocator ¶
func PackMCLocator(opts MCLocatorPackOpts) []byte
PackMCLocator builds a Type 12h Management Controller Device Locator wire record per §43.9. The layout matches [parseSDRManagementControllerDeviceLocator].
func PackMultiRecords ¶
func PackMultiRecords(records []*FRUMultiRecord) []byte
PackMultiRecords concatenates encoded multi-record entries (fru§16). The last non-nil record is forced to EndOfList=1 (fru§16.2.2); earlier records are packed with EndOfList=0 so the area terminates correctly.
func PadBytes ¶
padBytes will padding the origin "s" string to fixed "width" length, with "pad" as the padding byte.
func ParseGUID ¶
ParseGUID parses the raw guid data with the specified encoding mode. Different GUIDMode would interpret the 16-byte data into different layout of uuid.
func RandomBytes ¶
func RenderTable ¶
RenderTable formats a table from a slice of rows. The Headers is a slice of strings, the order of the headers is the order of the columns in the table. Each row is represented as a map, the keys of the map are the headers of the table.
func RenderTableStream ¶
func SetOrClearBit0 ¶
func SetOrClearBit1 ¶
func SetOrClearBit2 ¶
func SetOrClearBit3 ¶
func SetOrClearBit4 ¶
func SetOrClearBit5 ¶
func SetOrClearBit6 ¶
func SetOrClearBit7 ¶
func SplitSDRDump ¶
SplitSDRDump splits concatenated SDR repository bytes into individual records.
func StrCC ¶
StrCC returns the description of ccode for cmd: command-specific name when defined, otherwise the generic name, otherwise hex.
func TwoSComplement ¶
twosComplement returns the signed integer of the input number encoded with 2's complement. The lowest significant 'bitSize' bits of the input number i is considered.
func TwoSComplementEncode ¶
func UUIDVersionString ¶
func UnpackBytesMost ¶
unpackBytesMost unpacks most length of bytes from msg starting from off index. It stops when reaching the msg end or reaching the most length. This functions never failed, it always return nil error. The caller should check the length of the returned out byte
Types ¶
type ASF ¶
type ASF struct {
IANA uint32 // 4542
MessageType uint8
// 0-FEh, generated by remote console. This is an RMCP version of a sequence number.
// Values 0-254 (0-FEh) are used for RMCP request/response messages.
// 255 indicates the message is unidirectional and not part of a request/response pair.
MessageTag uint8
DataLength uint8 // 00h
Data []byte
}
type AuthTypesEnabled ¶
func (AuthTypesEnabled) String ¶
func (authTypeEnabled AuthTypesEnabled) String() string
type BIOSBootType ¶
type BIOSBootType bool
const ( BIOSBootTypeLegacy BIOSBootType = false // PC compatible boot (legacy) BIOSBootTypeEFI BIOSBootType = true // Extensible Firmware Interface Boot (EFI) )
func (BIOSBootType) String ¶
func (t BIOSBootType) String() string
type BIOSMuxControl ¶
type BIOSMuxControl uint8
func (BIOSMuxControl) String ¶
func (b BIOSMuxControl) String() string
type BIOSVerbosity ¶
type BIOSVerbosity uint8 // only 2 bits, occupied 0-3
const ( BIOSVerbosityDefault BIOSVerbosity = 0 BIOSVerbosityQuiet BIOSVerbosity = 1 BIOSVerbosityVerbose BIOSVerbosity = 2 )
func (BIOSVerbosity) String ¶
func (v BIOSVerbosity) String() string
type BootDeviceSelector ¶
type BootDeviceSelector uint8 // only 4 bits occupied
const ( BootDeviceSelectorNoOverride BootDeviceSelector = 0x00 BootDeviceSelectorForcePXE BootDeviceSelector = 0x01 BootDeviceSelectorForceHardDrive BootDeviceSelector = 0x02 BootDeviceSelectorForceHardDriveSafe BootDeviceSelector = 0x03 BootDeviceSelectorForceDiagnosticPartition BootDeviceSelector = 0x04 BootDeviceSelectorForceCDROM BootDeviceSelector = 0x05 BootDeviceSelectorForceBIOSSetup BootDeviceSelector = 0x06 BootDeviceSelectorForceRemoteFloppy BootDeviceSelector = 0x07 BootDeviceSelectorForceRemoteCDROM BootDeviceSelector = 0x08 BootDeviceSelectorForceRemoteMedia BootDeviceSelector = 0x09 BootDeviceSelectorForceRemoteHardDrive BootDeviceSelector = 0x0b BootDeviceSelectorForceFloppy BootDeviceSelector = 0x0f )
func (BootDeviceSelector) String ¶
func (s BootDeviceSelector) String() string
type BootInfoAcknowledgeBy ¶
type BootInfoAcknowledgeBy uint8
const ( BootInfoAcknowledgeByBIOSPOST BootInfoAcknowledgeBy = 1 << 0 BootInfoAcknowledgeByOSLoader BootInfoAcknowledgeBy = 1 << 1 BootInfoAcknowledgeByOSServicePartition BootInfoAcknowledgeBy = 1 << 2 BootInfoAcknowledgeBySMS BootInfoAcknowledgeBy = 1 << 3 BootInfoAcknowledgeByOEM BootInfoAcknowledgeBy = 1 << 4 )
type BootOptionParamSelector ¶
type BootOptionParamSelector uint8 // only 7 bits occupied, 0-127
const ( BootOptionParamSelector_SetInProgress BootOptionParamSelector = 0x00 BootOptionParamSelector_ServicePartitionSelector BootOptionParamSelector = 0x01 BootOptionParamSelector_ServicePartitionScan BootOptionParamSelector = 0x02 BootOptionParamSelector_BMCBootFlagValidBitClear BootOptionParamSelector = 0x03 BootOptionParamSelector_BootInfoAcknowledge BootOptionParamSelector = 0x04 BootOptionParamSelector_BootFlags BootOptionParamSelector = 0x05 BootOptionParamSelector_BootInitiatorInfo BootOptionParamSelector = 0x06 BootOptionParamSelector_BootInitiatorMailbox BootOptionParamSelector = 0x07 )
func (BootOptionParamSelector) String ¶
func (bop BootOptionParamSelector) String() string
type BootOptionParam_BMCBootFlagValidBitClear ¶
type BootOptionParam_BMCBootFlagValidBitClear struct {
DontClearOnResetPEFOrPowerCyclePEF bool // corresponding to restart cause: 0x08, 0x09
DontClearOnCommandReceivedTimeout bool // corresponding to restart cause: 0x01
DontClearOnWatchdogTimeout bool // corresponding to restart cause: 0x04
DontClearOnResetPushButtonOrSoftReset bool // corresponding to restart cause: 0x02, 0x0a
DontClearOnPowerUpPushButtonOrWakeEvent bool // corresponding to restart cause: 0x03, 0x0b
}
func (*BootOptionParam_BMCBootFlagValidBitClear) BootOptionParameter ¶
func (p *BootOptionParam_BMCBootFlagValidBitClear) BootOptionParameter() (paramSelector BootOptionParamSelector, setSelector uint8, blockSelector uint8)
func (*BootOptionParam_BMCBootFlagValidBitClear) Format ¶
func (p *BootOptionParam_BMCBootFlagValidBitClear) Format() string
func (*BootOptionParam_BMCBootFlagValidBitClear) Pack ¶
func (p *BootOptionParam_BMCBootFlagValidBitClear) Pack() []byte
func (*BootOptionParam_BMCBootFlagValidBitClear) Unpack ¶
func (p *BootOptionParam_BMCBootFlagValidBitClear) Unpack(parameterData []byte) error
type BootOptionParam_BootFlags ¶
type BootOptionParam_BootFlags struct {
// 1b = boot flags valid.
// The bit should be set to indicate that valid flag data is present.
// This bit may be automatically cleared based on the boot flag valid bit clearing parameter, above.
BootFlagsValid bool
// 0b = options apply to next boot only.
// 1b = options requested to be persistent for all future boots (i.e. requests BIOS to change its boot settings)
Persist bool
// 0b = "PC compatible" boot (legacy)
// 1b = Extensible Firmware Interface Boot (EFI)
BIOSBootType BIOSBootType
CMOSClear bool
LockKeyboard bool
BootDeviceSelector BootDeviceSelector // 4 bits
ScreenBlank bool
LockoutResetButton bool
LockoutPowerOff bool
BIOSVerbosity BIOSVerbosity
ForceProgressEventTraps bool
BypassUserPassword bool
LockoutSleepButton bool
ConsoleRedirectionControl ConsoleRedirectionControl // only 2 bits
BIOSMuxControl BIOSMuxControl // only 3 bits
DeviceInstanceSelector uint8 // only 5 bits
}
func (*BootOptionParam_BootFlags) BootOptionParameter ¶
func (p *BootOptionParam_BootFlags) BootOptionParameter() (paramSelector BootOptionParamSelector, setSelector uint8, blockSelector uint8)
func (*BootOptionParam_BootFlags) Format ¶
func (p *BootOptionParam_BootFlags) Format() string
func (*BootOptionParam_BootFlags) OptionsHelp ¶
func (bootFlags *BootOptionParam_BootFlags) OptionsHelp() string
func (*BootOptionParam_BootFlags) Pack ¶
func (p *BootOptionParam_BootFlags) Pack() []byte
func (*BootOptionParam_BootFlags) ParseFromOptions ¶
func (bootFlags *BootOptionParam_BootFlags) ParseFromOptions(options []string) error
func (*BootOptionParam_BootFlags) ParseFromOptionsStr ¶
func (bootFlags *BootOptionParam_BootFlags) ParseFromOptionsStr(optionsStr string) error
func (*BootOptionParam_BootFlags) Unpack ¶
func (p *BootOptionParam_BootFlags) Unpack(parameterData []byte) error
type BootOptionParam_BootInfoAcknowledge ¶
type BootOptionParam_BootInfoAcknowledge struct {
// The boot initiator should typically write FFh to this parameter prior to initiating the boot.
// The boot initiator may write 0 s if it wants to intentionally direct a given party to ignore the
// boot info.
// This field is automatically initialized to 00h when the management controller if first powered up or reset.
ByOEM bool
BySMS bool
ByOSServicePartition bool
ByOSLoader bool
ByBIOSPOST bool
}
func (*BootOptionParam_BootInfoAcknowledge) BootOptionParameter ¶
func (p *BootOptionParam_BootInfoAcknowledge) BootOptionParameter() (paramSelector BootOptionParamSelector, setSelector uint8, blockSelector uint8)
func (*BootOptionParam_BootInfoAcknowledge) Format ¶
func (p *BootOptionParam_BootInfoAcknowledge) Format() string
func (*BootOptionParam_BootInfoAcknowledge) Pack ¶
func (p *BootOptionParam_BootInfoAcknowledge) Pack() []byte
func (*BootOptionParam_BootInfoAcknowledge) Unpack ¶
func (p *BootOptionParam_BootInfoAcknowledge) Unpack(parameterData []byte) error
type BootOptionParam_BootInitiatorInfo ¶
type BootOptionParam_BootInitiatorInfo struct {
ChannelNumber uint8
SessionID uint32
BootInfoTimestamp time.Time
}
func (*BootOptionParam_BootInitiatorInfo) BootOptionParameter ¶
func (p *BootOptionParam_BootInitiatorInfo) BootOptionParameter() (paramSelector BootOptionParamSelector, setSelector uint8, blockSelector uint8)
func (*BootOptionParam_BootInitiatorInfo) Format ¶
func (p *BootOptionParam_BootInitiatorInfo) Format() string
func (*BootOptionParam_BootInitiatorInfo) Pack ¶
func (p *BootOptionParam_BootInitiatorInfo) Pack() []byte
func (*BootOptionParam_BootInitiatorInfo) Unpack ¶
func (p *BootOptionParam_BootInitiatorInfo) Unpack(parameterData []byte) error
type BootOptionParam_BootInitiatorMailbox ¶
func (*BootOptionParam_BootInitiatorMailbox) BootOptionParameter ¶
func (p *BootOptionParam_BootInitiatorMailbox) BootOptionParameter() (paramSelector BootOptionParamSelector, setSelector uint8, blockSelector uint8)
func (*BootOptionParam_BootInitiatorMailbox) Format ¶
func (p *BootOptionParam_BootInitiatorMailbox) Format() string
func (*BootOptionParam_BootInitiatorMailbox) Pack ¶
func (p *BootOptionParam_BootInitiatorMailbox) Pack() []byte
func (*BootOptionParam_BootInitiatorMailbox) Unpack ¶
func (p *BootOptionParam_BootInitiatorMailbox) Unpack(parameterData []byte) error
type BootOptionParam_ServicePartitionScan ¶
type BootOptionParam_ServicePartitionScan struct {
// data 1 [7:2] - reserved
// - [1] - 1b = Request BIOS to scan for specified service partition.
// BIOS clears this bit after the requested scan has been performed.
// - [0] - 1b = Service Partition discovered.
// BIOS sets this bit to indicate it has discovered the specified service partition.
// The bit retains the value from the last scan.
// Therefore, to get up-to-date status of the discovery state, a scan may need to be requested.
RequestBIOSScan bool
ServicePartitionDiscovered bool
}
func (*BootOptionParam_ServicePartitionScan) BootOptionParameter ¶
func (p *BootOptionParam_ServicePartitionScan) BootOptionParameter() (paramSelector BootOptionParamSelector, setSelector uint8, blockSelector uint8)
func (BootOptionParam_ServicePartitionScan) Format ¶
func (p BootOptionParam_ServicePartitionScan) Format() string
func (*BootOptionParam_ServicePartitionScan) Pack ¶
func (p *BootOptionParam_ServicePartitionScan) Pack() []byte
func (*BootOptionParam_ServicePartitionScan) Unpack ¶
func (p *BootOptionParam_ServicePartitionScan) Unpack(paramData []byte) error
type BootOptionParam_ServicePartitionSelector ¶
type BootOptionParam_ServicePartitionSelector struct {
Selector uint8
}
This value is used to select which service partition BIOS should boot using.
func (*BootOptionParam_ServicePartitionSelector) BootOptionParameter ¶
func (p *BootOptionParam_ServicePartitionSelector) BootOptionParameter() (paramSelector BootOptionParamSelector, setSelector uint8, blockSelector uint8)
func (*BootOptionParam_ServicePartitionSelector) Format ¶
func (p *BootOptionParam_ServicePartitionSelector) Format() string
func (*BootOptionParam_ServicePartitionSelector) Pack ¶
func (p *BootOptionParam_ServicePartitionSelector) Pack() []byte
func (*BootOptionParam_ServicePartitionSelector) Unpack ¶
func (p *BootOptionParam_ServicePartitionSelector) Unpack(paramData []byte) error
type BootOptionParam_SetInProgress ¶
type BootOptionParam_SetInProgress struct {
Value SetInProgressState
}
func (*BootOptionParam_SetInProgress) BootOptionParameter ¶
func (p *BootOptionParam_SetInProgress) BootOptionParameter() (paramSelector BootOptionParamSelector, setSelector uint8, blockSelector uint8)
func (*BootOptionParam_SetInProgress) Format ¶
func (p *BootOptionParam_SetInProgress) Format() string
func (*BootOptionParam_SetInProgress) Pack ¶
func (p *BootOptionParam_SetInProgress) Pack() []byte
func (*BootOptionParam_SetInProgress) Unpack ¶
func (p *BootOptionParam_SetInProgress) Unpack(paramData []byte) error
type BootOptionParameter ¶
type BootOptionParameter interface {
BootOptionParameter() (paramSelector BootOptionParamSelector, setSelector uint8, blockSelector uint8)
Parameter
}
type BootOptionsParams ¶
type BootOptionsParams struct {
SetInProgress *BootOptionParam_SetInProgress
ServicePartitionSelector *BootOptionParam_ServicePartitionSelector
ServicePartitionScan *BootOptionParam_ServicePartitionScan
BMCBootFlagValidBitClear *BootOptionParam_BMCBootFlagValidBitClear
BootInfoAcknowledge *BootOptionParam_BootInfoAcknowledge
BootFlags *BootOptionParam_BootFlags
BootInitiatorInfo *BootOptionParam_BootInitiatorInfo
BootInitiatorMailbox *BootOptionParam_BootInitiatorMailbox
}
Table 28-14, Boot Option Parameters
func (*BootOptionsParams) Format ¶
func (bootOptionsParams *BootOptionsParams) Format() string
type Channel ¶
type Channel uint8
6.3 Channel Numbers Only the channel number assignments for the primary IPMB and the System Interface are fixed, the assignment of other channel numbers can vary on a per-platform basis
type ChannelAccessMode ¶
type ChannelAccessMode uint8
6.6 Channel Access Modes
const ( ChannelAccessMode_Disabled ChannelAccessMode = 0 ChannelAccessMode_PrebootOnly ChannelAccessMode = 1 ChannelAccessMode_AlwaysAvailable ChannelAccessMode = 2 )
func (ChannelAccessMode) String ¶
func (mode ChannelAccessMode) String() string
type ChannelAccessOption ¶
type ChannelAccessOption uint8
see: Table 22-28, Get Channel Access Command
const ( ChannelAccessOption_NoChange ChannelAccessOption = 0 ChannelAccessOption_NonVolatile ChannelAccessOption = 1 // get non-volatile Channel Access ChannelAccessOption_Volatile ChannelAccessOption = 2 // get present volatile (active) setting of Channel Access )
type ChannelInfo ¶
type ChannelMedium ¶
type ChannelMedium uint8
6.5 Channel Medium Type
const ( ChannelMediumIPMB ChannelMedium = 0x01 ChannelMediumICMBv10 ChannelMedium = 0x02 ChannelMediumICMBv09 ChannelMedium = 0x03 ChannelMediumLAN ChannelMedium = 0x04 ChannelMediumSerial ChannelMedium = 0x05 ChannelMediumOtherLAN ChannelMedium = 0x06 ChannelMediumSMBus ChannelMedium = 0x07 ChannelMediumSMBusv10 ChannelMedium = 0x08 ChannelMediumSMBusv20 ChannelMedium = 0x09 ChannelMediumUSBv1 ChannelMedium = 0x0a ChannelMediumUSBv2 ChannelMedium = 0x0b ChannelMediumSystemInterface ChannelMedium = 0x0c )
func (ChannelMedium) String ¶
func (cp ChannelMedium) String() string
type ChannelPrivilegeOption ¶
type ChannelPrivilegeOption uint8
const ( ChannelPrivilegeOption_NoChange ChannelPrivilegeOption = 0 ChannelPrivilegeOption_NonVolatile ChannelPrivilegeOption = 1 ChannelPrivilegeOption_Volatile ChannelPrivilegeOption = 2 )
type ChannelProtocol ¶
type ChannelProtocol uint8
6.4 Channel Protocol Type
const ( ChannelProtocolIPMB ChannelProtocol = 0x01 ChannelProtocolICMB ChannelProtocol = 0x02 // 03 reserved ChannelProtocolSMBus ChannelProtocol = 0x04 ChannelProtocolKCS ChannelProtocol = 0x05 ChannelProtocolSMIC ChannelProtocol = 0x06 ChannelProtocolBTv10 ChannelProtocol = 0x07 ChannelProtocolBTv15 ChannelProtocol = 0x08 ChannelProtocolTMode ChannelProtocol = 0x09 ChannelProtocolOEM1 ChannelProtocol = 0x1c ChannelProtocolOEM2 ChannelProtocol = 0x1d ChannelProtocolOEM3 ChannelProtocol = 0x1e ChannelProtocolOEM4 ChannelProtocol = 0x1f )
func (ChannelProtocol) String ¶
func (cp ChannelProtocol) String() string
type ChassisSecurityStatus ¶
type ChassisSecurityStatus uint8
func (ChassisSecurityStatus) String ¶
func (chassisSecurityStatus ChassisSecurityStatus) String() string
type ChassisState ¶
type ChassisState uint8
func (ChassisState) String ¶
func (chassisState ChassisState) String() string
type ChassisType ¶
type ChassisType uint8
func (ChassisType) String ¶
func (chassisType ChassisType) String() string
type CipherSuiteID ¶
type CipherSuiteID uint8
22.15.2 Cipher Suite IDs
const ( CipherSuiteID0 CipherSuiteID = 0 CipherSuiteID1 CipherSuiteID = 1 CipherSuiteID2 CipherSuiteID = 2 CipherSuiteID3 CipherSuiteID = 3 CipherSuiteID4 CipherSuiteID = 4 CipherSuiteID5 CipherSuiteID = 5 CipherSuiteID6 CipherSuiteID = 6 CipherSuiteID7 CipherSuiteID = 7 CipherSuiteID8 CipherSuiteID = 8 CipherSuiteID9 CipherSuiteID = 9 CipherSuiteID10 CipherSuiteID = 10 CipherSuiteID11 CipherSuiteID = 11 CipherSuiteID12 CipherSuiteID = 12 CipherSuiteID13 CipherSuiteID = 13 CipherSuiteID14 CipherSuiteID = 14 CipherSuiteID15 CipherSuiteID = 15 CipherSuiteID16 CipherSuiteID = 16 CipherSuiteID17 CipherSuiteID = 17 CipherSuiteID18 CipherSuiteID = 18 CipherSuiteID19 CipherSuiteID = 19 CipherSuiteIDReserved CipherSuiteID = 0xff )
func SortCipherSuites ¶
func SortCipherSuites(cipherSuites []CipherSuiteID) []CipherSuiteID
sortCipherSuites return cipher suites in order of preference. the cipher suite not in the PreferredCiphers list would be excluded.
type CipherSuiteRecord ¶
type CipherSuiteRecord struct {
// If StartOfRecord is C0h, indicating that the Start Of Record byte is followed by an Cipher Suite ID
// If StartOfRecord is C1h, indicating that the Start Of Record byte is followed by a OEM Cipher Suite ID plus OEM IANA
StartOfRecord uint8
// a numeric way of identifying the Cipher Suite on the platform
CipherSuitID CipherSuiteID
OEMIanaID uint32 // Least significant byte first. 3-byte IANA for the OEM or body that defined the Cipher Suite.
// an authentication algorithm number is required for all Cipher Suites.
// It is possible that a given Cipher Suite may not specify use of an integrity or confidentiality algorithm.
AuthAlg uint8 // Tag bits: [7:6]=00b
IntegrityAlgs []uint8 // Tag bits: [7:6]=01b
CryptAlgs []uint8 // Tag bits: [7:6]=10b
}
22.15.1 Cipher Suite Records The size of a CipherSuiteRecord is
type Command ¶
Command is the field in an IPMI message
func (Command) Key ¶
func (c Command) Key() CommandKey
Key returns the Name-independent identity of c for map lookups.
type CommandKey ¶
CommandKey is the wire identity of a command: request NetFn + command ID. Name is intentionally excluded so lookups match regardless of whether the caller has a named table entry or a raw {NetFn, ID} pair from the wire.
type CommunityString ¶
type CommunityString [18]byte
func NewCommunityString ¶
func NewCommunityString(s string) CommunityString
func (CommunityString) String ¶
func (c CommunityString) String() string
type CompactSensorPackOpts ¶
type CompactSensorPackOpts struct {
RecordID uint16
SensorNumber uint8
SensorType uint8 // e.g. SensorTypeTemperature (0x01)
EntityID uint8 // e.g. 0x07 system board
Name string
}
CompactSensorPackOpts configures PackCompactSensor.
type CompletionCode ¶
type CompletionCode uint8
const ( CodeOK CompletionCode = 0x00 // 00h: Command Completed Normally. CodeNormal = CodeOK CodeNodeBusy CompletionCode = 0xC0 // C0h: Node Busy. CodeInvalidCommand CompletionCode = 0xC1 // C1h: Invalid Command. CodeInvalidCommandForLUN CompletionCode = 0xC2 // C2h: Command invalid for given LUN. CodeProcessTimeout CompletionCode = 0xC3 // C3h: Timeout while processing command. CodeOutOfSpace CompletionCode = 0xC4 // C4h: Out of space. CodeReservationCanceled CompletionCode = 0xC5 // C5h: Reservation Canceled or Invalid Reservation ID. CodeRequestDataTruncated CompletionCode = 0xC6 // C6h: Request data truncated. CodeRequestDataLengthInvalid CompletionCode = 0xC7 // C7h: Request data length invalid. CodeRequestDataLengthLimitExceeded CompletionCode = 0xC8 // C8h: Request data field length limit exceeded. CodeParameterOutOfRange CompletionCode = 0xC9 // C9h: Parameter out of range. CodeCannotReturnRequestedDataBytes CompletionCode = 0xCA // CAh: Cannot return number of requested data bytes. CodeRequestedDataNotPresent CompletionCode = 0xCB // CBh: Requested Sensor, data, or record not present. CodeRequestDataFieldInvalid CompletionCode = 0xCC // CCh: Invalid data field in Request. CodeIllegalCommand CompletionCode = 0xCD // CDh: Command illegal for specified sensor or record type. CodeCannotProvideResponse CompletionCode = 0xCE // CEh: Command response could not be provided. CodeCannotExecuteDuplicatedRequest CompletionCode = 0xCF // CFh: Cannot execute duplicated request. CodeCannotProvideResponseSDRRInUpdate CompletionCode = 0xD0 // D0h: SDR Repository in update mode. CodeCannotProvideResponseFirmwareUpdate CompletionCode = 0xD1 // D1h: Device in firmware update mode. CodeCannotProvideResponseBMCInitialize CompletionCode = 0xD2 // D2h: BMC initialization in progress. CodeInsufficientPrivilege CompletionCode = 0xD4 // D4h: Cannot execute command due to insufficient privilege level or other security-based restriction. CodeCannotExecuteCommandSecurityRestrict = CodeInsufficientPrivilege CodeNotSupported CompletionCode = 0xD5 // D5h: Cannot execute command. Command, or request parameter(s), not supported in present state. CodeCannotExecuteCommandNotSupported = CodeNotSupported CodeSubFnDisabled CompletionCode = 0xD6 // D6h: Cannot execute command. Parameter is illegal because command sub-function has been disabled or is unavailable. CodeCannotExecuteCommandSubFnDisabled = CodeSubFnDisabled CodeUnspecifiedError CompletionCode = 0xFF // FFh: Unspecified error. // COMMAND-SPECIFIC CODES 80h-BEh — defined per-command in the relevant command specification sections. // // CodeParameterNotSupported (80h) is defined for Set/Get System Boot Options // (v2.0§28.12 / §28.13) and other config-parameter commands (e.g. §22.14a/b // Set/Get System Info Parameters) when the parameter selector is not implemented. CodeParameterNotSupported CompletionCode = 0x80 )
IPMI v2.0 Rev 1.1, section 5.2 Table 5-2, Completion Codes.
IPMI v2.0 is backward-compatible with v1.5 for all completion codes. The only differences from v1.5 Rev 1.2 Table 5-2 are:
- D4h (modified): expanded from "Insufficient privilege level" to include "or other security-based restriction (e.g. disabled for firmware firewall)"
- D6h (new): "Cannot execute command. Parameter is illegal because command sub-function has been disabled or is unavailable"
Completion Code ranges:
- 00h, C0h-FFh: Generic completion codes
- 01h-7Eh: Device-specific (OEM) codes
- 80h-BEh: Standard command-specific codes (per-command definitions)
- All other: Reserved
func (CompletionCode) Error ¶
func (cc CompletionCode) Error() string
Error makes CompletionCode implement the error interface.
func (CompletionCode) String ¶
func (cc CompletionCode) String() string
String return description of generic completion code. Prefer StrCC when the command is known so that command-specific codes (80h-BEh) resolve to names.
type ConsoleRedirectionControl ¶
type ConsoleRedirectionControl uint8
const ( ConsoleRedirectionControl_Default ConsoleRedirectionControl = 0 ConsoleRedirectionControl_Skip ConsoleRedirectionControl = 1 ConsoleRedirectionControl_Enable ConsoleRedirectionControl = 2 )
func (ConsoleRedirectionControl) String ¶
func (c ConsoleRedirectionControl) String() string
type CryptAlg ¶
type CryptAlg uint8
13.28.5 Confidentiality (Encryption) Algorithms AES is more secure than RC4 RC4 is cryptographically broken and should not be used for secure applications.
type DCMICapParamSelector ¶
type DCMICapParamSelector uint8
func (DCMICapParamSelector) String ¶
func (dcmiCapParamSelector DCMICapParamSelector) String() string
type DCMICapParam_EnhancedSystemPowerStatisticsAttributes ¶
type DCMICapParam_EnhancedSystemPowerStatisticsAttributes struct {
RollingCount uint8
RollingAverageTimePeriodsSec []int
}
func (*DCMICapParam_EnhancedSystemPowerStatisticsAttributes) DCMICapParameter ¶
func (param *DCMICapParam_EnhancedSystemPowerStatisticsAttributes) DCMICapParameter() DCMICapParamSelector
func (*DCMICapParam_EnhancedSystemPowerStatisticsAttributes) Format ¶
func (param *DCMICapParam_EnhancedSystemPowerStatisticsAttributes) Format() string
func (*DCMICapParam_EnhancedSystemPowerStatisticsAttributes) Pack ¶
func (param *DCMICapParam_EnhancedSystemPowerStatisticsAttributes) Pack() []byte
func (*DCMICapParam_EnhancedSystemPowerStatisticsAttributes) Unpack ¶
func (param *DCMICapParam_EnhancedSystemPowerStatisticsAttributes) Unpack(paramData []byte) error
type DCMICapParam_ManageabilityAccessAttributes ¶
type DCMICapParam_ManageabilityAccessAttributes struct {
PrimaryLANChannelNumber uint8
SecondaryLANChannelNumber uint8
SerialChannelNumber uint8
}
func (*DCMICapParam_ManageabilityAccessAttributes) DCMICapParameter ¶
func (param *DCMICapParam_ManageabilityAccessAttributes) DCMICapParameter() DCMICapParamSelector
func (*DCMICapParam_ManageabilityAccessAttributes) Format ¶
func (param *DCMICapParam_ManageabilityAccessAttributes) Format() string
func (*DCMICapParam_ManageabilityAccessAttributes) Pack ¶
func (param *DCMICapParam_ManageabilityAccessAttributes) Pack() []byte
func (*DCMICapParam_ManageabilityAccessAttributes) Unpack ¶
func (param *DCMICapParam_ManageabilityAccessAttributes) Unpack(paramData []byte) error
type DCMICapParam_MandatoryPlatformAttributes ¶
type DCMICapParam_MandatoryPlatformAttributes struct {
SELAutoRolloverEnabled bool
EntireSELFlushUponRollOver bool
RecordLevelSELFlushUponRollOver bool
SELEntriesCount uint16 //only 12 bits, [11-0] Number of SEL entries (Maximum 4096)
TemperatrureSamplingFrequencySec uint8
}
func (*DCMICapParam_MandatoryPlatformAttributes) DCMICapParameter ¶
func (param *DCMICapParam_MandatoryPlatformAttributes) DCMICapParameter() DCMICapParamSelector
func (*DCMICapParam_MandatoryPlatformAttributes) Format ¶
func (param *DCMICapParam_MandatoryPlatformAttributes) Format() string
func (*DCMICapParam_MandatoryPlatformAttributes) Pack ¶
func (param *DCMICapParam_MandatoryPlatformAttributes) Pack() []byte
func (*DCMICapParam_MandatoryPlatformAttributes) Unpack ¶
func (param *DCMICapParam_MandatoryPlatformAttributes) Unpack(paramData []byte) error
type DCMICapParam_OptionalPlatformAttributes ¶
type DCMICapParam_OptionalPlatformAttributes struct {
PowerMgmtDeviceSlaveAddr uint8
PewerMgmtControllerChannelNumber uint8
DeviceRevision uint8
}
func (*DCMICapParam_OptionalPlatformAttributes) DCMICapParameter ¶
func (param *DCMICapParam_OptionalPlatformAttributes) DCMICapParameter() DCMICapParamSelector
func (*DCMICapParam_OptionalPlatformAttributes) Format ¶
func (param *DCMICapParam_OptionalPlatformAttributes) Format() string
func (*DCMICapParam_OptionalPlatformAttributes) Pack ¶
func (param *DCMICapParam_OptionalPlatformAttributes) Pack() []byte
func (*DCMICapParam_OptionalPlatformAttributes) Unpack ¶
func (param *DCMICapParam_OptionalPlatformAttributes) Unpack(paramData []byte) error
type DCMICapParam_SupportedDCMICapabilities ¶
type DCMICapParam_SupportedDCMICapabilities struct {
SupportPowerManagement bool
SupportInBandKCS bool
SupportOutOfBandSerial bool
SupportOutOfBandLAN bool
}
func (*DCMICapParam_SupportedDCMICapabilities) DCMICapParameter ¶
func (param *DCMICapParam_SupportedDCMICapabilities) DCMICapParameter() DCMICapParamSelector
func (*DCMICapParam_SupportedDCMICapabilities) Format ¶
func (param *DCMICapParam_SupportedDCMICapabilities) Format() string
func (*DCMICapParam_SupportedDCMICapabilities) Pack ¶
func (param *DCMICapParam_SupportedDCMICapabilities) Pack() []byte
func (*DCMICapParam_SupportedDCMICapabilities) Unpack ¶
func (param *DCMICapParam_SupportedDCMICapabilities) Unpack(paramData []byte) error
type DCMICapParameter ¶
type DCMICapParameter interface {
DCMICapParameter() DCMICapParamSelector
Parameter
}
type DCMICapParams ¶
type DCMICapParams struct {
SupportedDCMICapabilities *DCMICapParam_SupportedDCMICapabilities
MandatoryPlatformAttributes *DCMICapParam_MandatoryPlatformAttributes
OptionalPlatformAttributes *DCMICapParam_OptionalPlatformAttributes
ManageabilityAccessAttributes *DCMICapParam_ManageabilityAccessAttributes
EnhancedSystemPowerStatisticsAttributes *DCMICapParam_EnhancedSystemPowerStatisticsAttributes
}
func (*DCMICapParams) Format ¶
func (dcmiCapParams *DCMICapParams) Format() string
type DCMIConfigParamSelector ¶
type DCMIConfigParamSelector uint8
const ( DCMIConfigParamSelector_ActivateDHCP DCMIConfigParamSelector = 0x01 DCMIConfigParamSelector_DiscoveryConfiguration DCMIConfigParamSelector = 0x02 DCMIConfigParamSelector_DHCPTiming1 DCMIConfigParamSelector = 0x03 DCMIConfigParamSelector_DHCPTiming2 DCMIConfigParamSelector = 0x04 DCMIConfigParamSelector_DHCPTiming3 DCMIConfigParamSelector = 0x05 )
func (DCMIConfigParamSelector) String ¶
func (paramSelector DCMIConfigParamSelector) String() string
type DCMIConfigParam_ActivateDHCP ¶
type DCMIConfigParam_ActivateDHCP struct {
// Writing 01h to this parameter will trigger DHCP protocol restart using the latest parameter
// settings, if DHCP is enabled. This can be used to ensure that the other DHCP configuration
// parameters take effect immediately. Otherwise, the parameters may not take effect until the
// next time the protocol restarts or a protocol timeout or lease expiration occurs. This is not a
// non-volatile setting. It is only used to trigger a restart of the DHCP protocol.
//
// This parameter shall always return 0x00 when read.
Activate bool
}
func (*DCMIConfigParam_ActivateDHCP) DCMIConfigParameter ¶
func (param *DCMIConfigParam_ActivateDHCP) DCMIConfigParameter() (paramSelector DCMIConfigParamSelector, setSelector uint8)
func (*DCMIConfigParam_ActivateDHCP) Format ¶
func (param *DCMIConfigParam_ActivateDHCP) Format() string
func (*DCMIConfigParam_ActivateDHCP) Pack ¶
func (param *DCMIConfigParam_ActivateDHCP) Pack() []byte
func (*DCMIConfigParam_ActivateDHCP) Unpack ¶
func (param *DCMIConfigParam_ActivateDHCP) Unpack(paramData []byte) error
type DCMIConfigParam_DHCPTiming1 ¶
type DCMIConfigParam_DHCPTiming1 struct {
// This parameter sets the amount of time between the first attempt to reach a server and the
// second attempt to reach a server.
//
// Each time a message is sent the timeout interval between messages is incremented by
// twice the current interval multiplied by a pseudo random number between zero and one
// if random back-off is enabled, or multiplied by one if random back-off is disabled.
//
// The recommended default is four seconds
InitialTimeoutIntervalSec uint8
}
func (*DCMIConfigParam_DHCPTiming1) DCMIConfigParameter ¶
func (param *DCMIConfigParam_DHCPTiming1) DCMIConfigParameter() (paramSelector DCMIConfigParamSelector, setSelector uint8)
func (*DCMIConfigParam_DHCPTiming1) Format ¶
func (param *DCMIConfigParam_DHCPTiming1) Format() string
func (*DCMIConfigParam_DHCPTiming1) Pack ¶
func (param *DCMIConfigParam_DHCPTiming1) Pack() []byte
func (*DCMIConfigParam_DHCPTiming1) Unpack ¶
func (param *DCMIConfigParam_DHCPTiming1) Unpack(paramData []byte) error
type DCMIConfigParam_DHCPTiming2 ¶
type DCMIConfigParam_DHCPTiming2 struct {
// This parameter determines the amount of time that must pass between the time that the
// client initially tries to determine its address and the time that it decides that it cannot contact
// a server. If the last lease is expired, the client will restart the protocol after the defined retry
// interval. The recommended default timeout is two minutes. After server contact timeout, the
// client must wait for Server Contact Retry Interval before attempting to contact the server
// again.
ServerContactTimeoutIntervalSec uint8
}
func (*DCMIConfigParam_DHCPTiming2) DCMIConfigParameter ¶
func (param *DCMIConfigParam_DHCPTiming2) DCMIConfigParameter() (paramSelector DCMIConfigParamSelector, setSelector uint8)
func (*DCMIConfigParam_DHCPTiming2) Format ¶
func (param *DCMIConfigParam_DHCPTiming2) Format() string
func (*DCMIConfigParam_DHCPTiming2) Pack ¶
func (param *DCMIConfigParam_DHCPTiming2) Pack() []byte
func (*DCMIConfigParam_DHCPTiming2) Unpack ¶
func (param *DCMIConfigParam_DHCPTiming2) Unpack(paramData []byte) error
type DCMIConfigParam_DHCPTiming3 ¶
type DCMIConfigParam_DHCPTiming3 struct {
// This is the period between DHCP retries after Server contact timeout interval expires. This
// parameter determines the time that must pass after the client has determined that there is no
// DHCP server present before it tries again to contact a DHCP server.
//
// The recommended default timeout is sixty-four seconds
ServerContactRetryIntervalSec uint8
}
func (*DCMIConfigParam_DHCPTiming3) DCMIConfigParameter ¶
func (param *DCMIConfigParam_DHCPTiming3) DCMIConfigParameter() (paramSelector DCMIConfigParamSelector, setSelector uint8)
func (*DCMIConfigParam_DHCPTiming3) Format ¶
func (param *DCMIConfigParam_DHCPTiming3) Format() string
func (*DCMIConfigParam_DHCPTiming3) Pack ¶
func (param *DCMIConfigParam_DHCPTiming3) Pack() []byte
func (*DCMIConfigParam_DHCPTiming3) Unpack ¶
func (param *DCMIConfigParam_DHCPTiming3) Unpack(paramData []byte) error
type DCMIConfigParam_DiscoveryConfiguration ¶
type DCMIConfigParam_DiscoveryConfiguration struct {
RandomBackoffEnabled bool
IncludeDHCPOption60And43 bool
IncludeDHCPOption12 bool
}
func (*DCMIConfigParam_DiscoveryConfiguration) DCMIConfigParameter ¶
func (param *DCMIConfigParam_DiscoveryConfiguration) DCMIConfigParameter() (paramSelector DCMIConfigParamSelector, setSelector uint8)
func (*DCMIConfigParam_DiscoveryConfiguration) Format ¶
func (param *DCMIConfigParam_DiscoveryConfiguration) Format() string
func (*DCMIConfigParam_DiscoveryConfiguration) Pack ¶
func (param *DCMIConfigParam_DiscoveryConfiguration) Pack() []byte
func (*DCMIConfigParam_DiscoveryConfiguration) Unpack ¶
func (param *DCMIConfigParam_DiscoveryConfiguration) Unpack(paramData []byte) error
type DCMIConfigParameter ¶
type DCMIConfigParameter interface {
DCMIConfigParameter() (paramSelector DCMIConfigParamSelector, setSelector uint8)
Parameter
}
type DCMIConfigParams ¶
type DCMIConfigParams struct {
ActivateDHCP *DCMIConfigParam_ActivateDHCP
DiscoveryConfiguration *DCMIConfigParam_DiscoveryConfiguration
DHCPTiming1 *DCMIConfigParam_DHCPTiming1
DHCPTiming2 *DCMIConfigParam_DHCPTiming2
DHCPTiming3 *DCMIConfigParam_DHCPTiming3
}
func (*DCMIConfigParams) Format ¶
func (dcmiConfigParams *DCMIConfigParams) Format() string
type DCMIExceptionAction ¶
type DCMIExceptionAction uint8
[DCMI specification v1.5]: 6.6.3 Set Power Limit Exception Actions, taken if the Power Limit is exceeded and cannot be controlled within the Correction Time Limit
const ( DCMIExceptionAction_NoAction DCMIExceptionAction = 0x00 DCMIExceptionAction_PowerOffAndLogSEL DCMIExceptionAction = 0x01 DCMIExceptionAction_LogSEL DCMIExceptionAction = 0x11 )
func (DCMIExceptionAction) String ¶
func (a DCMIExceptionAction) String() string
type DeviceType ¶
type DeviceType uint16
43.13 Device Type Codes DeviceType codes are used to identify different types of devices on an IPMB, PCI Management Bus, or Private Management Bus connection to an IPMI management controller
func (DeviceType) String ¶
func (d DeviceType) String() string
type EntityID ¶
type EntityID uint8
43.14 Entity IDs 39. Using Entity IDs EntityID can be seen as Entity Type
1. An Entity ID is a standardized numeric code that is used in SDRs to identify the types of physical entities or FRUs in the system.
2. The Entity ID is associated with an Entity Instance value that is used to indicate the particular instance of an entity
3. The SDR for a sensor includes Entity ID and Entity Instance fields that identify the entity associated with the sensor.
type EntityInstance ¶
type EntityInstance uint8
see: 39.1 System- and Device-relative Entity Instance Values
Entity Instance values in the system-relative range are required to be unique for all entities with the same Entity ID in the system.
Device-relative Entity Instance values are only required to be unique among all entities that have the same Entity ID within a given device (management controller).
For example, management controller A and B could both have FAN entities that have an Entity Instance value of 60h.
EntityInstance only occupy 7 bits, range is 0x00 ~ 0x7f
func (EntityInstance) Type ¶
func (e EntityInstance) Type() string
type Event ¶
type Event struct {
EventName string
EventDesc string
// for generic event, different sensor type may means different severity
AssertionSeverityMap map[SensorType]EventSeverity
DeassertionSeverityMap map[SensorType]EventSeverity
// for sensor specific event, severity is certain.
AssertionSeverity EventSeverity
DeassertionSeverity EventSeverity
ED2 map[uint8]string // EventData2
ED3 map[uint8]string // EventData3
}
type EventData ¶
29.7 Event Data Field Formats
func (*EventData) EventReadingOffset ¶
29.7 Event Data Field Formats Event Data 1 [3:0] - for threshold sensors: Offset from Event/Reading Code for threshold event. for discrete sensors: Offset from Event/Reading Code for discrete event state (corresponding 15 possible discrete events)
type EventDir ¶
type EventDir bool
Event direction, true for deassertion, false for assertion.
see: 32.1 SEL Event Records Table (Byte 13)
type EventReadingType ¶
type EventReadingType uint8
41.2 Event/Reading Type Code 42.1 Event/Reading Type Codes
const ( // Unspecified EventReadingTypeUnspecified EventReadingType = 0x00 // Threshold EventReadingTypeThreshold EventReadingType = 0x01 // Generic EventReadingTypeTransitionState EventReadingType = 0x02 EventReadingTypeState EventReadingType = 0x03 EventReadingTypePredictiveFailure EventReadingType = 0x04 EventReadingTypeLimit EventReadingType = 0x05 EventReadingTypePerformance EventReadingType = 0x06 EventReadingTypeTransitionSeverity EventReadingType = 0x07 EventReadingTypeDevicePresent EventReadingType = 0x08 EventReadingTypeDeviceEnabled EventReadingType = 0x09 EventReadingTypeTransitionAvailability EventReadingType = 0x0a EventReadingTypeRedundancy EventReadingType = 0x0b EventReadingTypeACPIPowerState EventReadingType = 0x0c EventReadingTypeSensorSpecific EventReadingType = 0x6f // OEM EventReadingTypeOEMMin EventReadingType = 0x70 EventReadingTypeOEMMax EventReadingType = 0x7f )
func (EventReadingType) Event ¶
func (typ EventReadingType) Event(sensorType SensorType, eventData EventData) *Event
Event return the predefined Event description struct.
func (EventReadingType) EventForOffset ¶
func (typ EventReadingType) EventForOffset(sensorType SensorType, eventOffset uint8) *Event
func (EventReadingType) EventSeverity ¶
func (typ EventReadingType) EventSeverity(sensorType SensorType, eventData EventData, eventDir EventDir) EventSeverity
EventSeverity return the severity for the event. Todo, refactor
func (EventReadingType) EventString ¶
func (typ EventReadingType) EventString(sensorType SensorType, eventData EventData) string
EventString returns description of the event
func (EventReadingType) IsThreshold ¶
func (typ EventReadingType) IsThreshold() bool
func (EventReadingType) SensorClass ¶
func (typ EventReadingType) SensorClass() SensorClass
func (EventReadingType) String ¶
func (typ EventReadingType) String() string
type EventSeverity ¶
type EventSeverity string
const ( EventSeverityInfo EventSeverity = "Info" EventSeverityOK EventSeverity = "OK" EventSeverityWarning EventSeverity = "Warning" EventSeverityCritical EventSeverity = "Critical" EventSeverityDegraded EventSeverity = "Degraded" EventSeverityNonFatal EventSeverity = "Non-fatal" )
type FRU ¶
type FRU struct {
DeviceID uint8
DeviceName string
DeviceNotPresent bool
DeviceNotPresentReason string
CommonHeader *FRUCommonHeader
InternalUseArea *FRUInternalUseArea
ChassisInfoArea *FRUChassisInfoArea
BoardInfoArea *FRUBoardInfoArea
ProductInfoArea *FRUProductInfoArea
MultiRecords []*FRUMultiRecord
}
type FRUBoardInfoArea ¶
type FRUBoardInfoArea struct {
FormatVersion uint8
Length8B uint8
LanguageCode uint8
MfgDateTime time.Time
ManufacturerTypeLength TypeLength
Manufacturer []byte
ProductNameTypeLength TypeLength
ProductName []byte
SerialNumberTypeLength TypeLength
SerialNumber []byte
PartNumberTypeLength TypeLength
PartNumber []byte
FRUFileIDTypeLength TypeLength
FRUFileID []byte
Custom []FRUField
Unused []byte
Checksum uint8
}
FRUBoardInfoArea provides Serial Number, Part Number, and other information about the board that the FRU Information Device is located on. The name 'Board Info Area' is somewhat a misnomer, because the usage is not restricted to just circuit boards. This area is also typically used to provide FRU information for any replaceable entities, boards, or sub-assemblies that are not sold as standalone products separate from other components. For example, individual boards from a board set, or a sub-chassis or backplane that's part of a larger chassis.1
see: fru§11. Board Info Area Format
func (*FRUBoardInfoArea) Pack ¶
func (a *FRUBoardInfoArea) Pack() []byte
Pack encodes the Board Info Area per fru§11.
func (*FRUBoardInfoArea) Unpack ¶
func (fruBoard *FRUBoardInfoArea) Unpack(msg []byte) error
type FRUChassisInfoArea ¶
type FRUChassisInfoArea struct {
FormatVersion uint8
Length8B uint8
ChassisType ChassisType
PartNumberTypeLength TypeLength
PartNumber []byte
SerialNumberTypeLength TypeLength
SerialNumber []byte
Custom []FRUField
Unused []byte
Checksum uint8
}
FRUChassisInfoArea is used to hold Serial Number, Part Number, and other information about the system chassis. A system can have multiple FRU Information Devices within a chassis, but only one device should provide the Chassis Info Area.
see: fru§10. Chassis Info Area Format
func (*FRUChassisInfoArea) Pack ¶
func (a *FRUChassisInfoArea) Pack() []byte
Pack encodes the Chassis Info Area per fru§10.
func (*FRUChassisInfoArea) Unpack ¶
func (fruChassis *FRUChassisInfoArea) Unpack(msg []byte) error
type FRUCommonHeader ¶
type FRUCommonHeader struct {
FormatVersion uint8
InternalOffset8B uint8
ChassisOffset8B uint8
BoardOffset8B uint8
ProductOffset8B uint8
MultiRecordsOffset8B uint8
Checksum uint8
}
FRUCommonHeader is mandatory for all FRU Information Device implementations. It holds version information for the overall information format specification and offsets to the other information areas.
The other areas may or may not be present based on the application of the device. The offset unit in wire is in multiples of 8 bytes, offset value 0x0 indicates that this area is not present.
ref: fru§8. Common Header Format
func (*FRUCommonHeader) Pack ¶
func (s *FRUCommonHeader) Pack() []byte
func (*FRUCommonHeader) String ¶
func (s *FRUCommonHeader) String() string
func (*FRUCommonHeader) Unpack ¶
func (s *FRUCommonHeader) Unpack(msg []byte) error
func (*FRUCommonHeader) Valid ¶
func (s *FRUCommonHeader) Valid() bool
type FRUField ¶
type FRUField struct {
TypeLength TypeLength
Data []byte
}
FRUField is one Type/Length-encoded FRU string field (fru§13). Data holds the raw bytes that follow the type/length byte on the wire.
type FRUInternalUseArea ¶
FRUInternalUseArea provides private, implementation-specific information storage for other devices that exist on the same FRU as the FRU Information Device.
The Internal Use Area is usually used to provide private non-volatile storage for a management controller.
see: fru§9. Internal Use Area Format
func (*FRUInternalUseArea) Pack ¶
func (a *FRUInternalUseArea) Pack() []byte
Pack encodes the Internal Use Area per fru§9.
func (*FRUInternalUseArea) Unpack ¶
func (a *FRUInternalUseArea) Unpack(msg []byte) error
Unpack decodes an Internal Use Area per fru§9. msg is the full area slice bounded by common-header offsets; byte 0 is the format version and bytes 1..end are implementation-specific data.
type FRULocation ¶
type FRULocation string
38. Accessing FRU Devices
FRU devices can located in three different types of location.
const ( // FRU Location: FRU Device behind a management controller // // only logical FRU Device can be accessed via FRU commands to mgmt controller // // Access Method: // Read/Write FRU Data commands to management controller providing access to the FRU Device. // // Use Read/WriteFRUData command to access FRU. // DeviceAccessAddress (Slave Address of IPMB) // FRUDeviceID_SlaveAddress FRULocation_MgmtController FRULocation = "on management controller" // FRU Location: SEEPROM On private bus behind a management controller // // Access Method: // Master Write-Read command to management controller that provides access to the private bus. // // Use MasterWriteRead command to access FRU. // DeviceAccessAddress (Slave Address of IPMB) // PrivateBusID // FRUDeviceID_SlaveAddress (Slave Address of SEEPROM on the Private Bus) FRULocation_PrivateBus FRULocation = "on private bus" // FRU Location : SEEPROM Device directly on IPMB // // Access Method: // Master Write-Read command through BMC from system software, or access via other interface // providing low-level I2C access to the IPMB. // // Use MasterWriteRead command to access FRU. // FRUDeviceID_SlaveAddress (slave address Of SEEPROM on the IPMB) FRULocation_IPMB FRULocation = "directly on IPMB" )
type FRUMultiRecord ¶
type FRUMultiRecord struct {
RecordType FRURecordType // used to identify the information contained in the record
EndOfList bool // indicates if this record is the last record in the MultiRecord area
// Record Format version (=2h unless otherwise specified)
// This field is used to identify the revision level of information stored in this area.
// This number will start at zero for each new area. If changes need to be made to the record,
// e.g. fields added/removed, the version number will be increased to reflect the change.
FormatVersion uint8
// RecordLength indicates the number of bytes of data in the record. This byte can also be used to find the
// next area in the list. If the "End of List" bit is zero, the length can be added the starting offset of the current
// Record Data to get the offset of the next Record Header. This field allows for 0 to 255 bytes of data for
// each record.
RecordLength uint8
RecordChecksum uint8
HeaderChecksum uint8
RecordData []byte
}
The MultiRecord Info Area provides a region that holds one or more records where the type and format of the information is specified in the individual headers for the records.
see: fru§16. MultiRecord Area
func (*FRUMultiRecord) Pack ¶
func (r *FRUMultiRecord) Pack() []byte
Pack encodes a MultiRecord entry per fru§16.1 / fru§16.2. A zero FormatVersion defaults to FRUMultiRecordFormatVersion (fru§16.2.3).
func (*FRUMultiRecord) Unpack ¶
func (fruMultiRecord *FRUMultiRecord) Unpack(msg []byte) error
type FRUPackBoard ¶
type FRUPackBoard struct {
MfgDate time.Time
Mfg string
Product string
Serial string
PartNumber string
}
FRUPackBoard holds board info area fields for PackFRU (FRU/11).
type FRUPackChassis ¶
FRUPackChassis holds chassis info area fields for PackFRU (FRU/10).
type FRUPackConfig ¶
type FRUPackConfig struct {
Chassis *FRUPackChassis
Board *FRUPackBoard
Product *FRUPackProduct
}
FRUPackConfig describes fields for PackFRU.
type FRUPackProduct ¶
type FRUPackProduct struct {
Manufacturer string
Name string
PartModel string
Version string
Serial string
}
FRUPackProduct holds product info area fields for PackFRU (FRU/12).
type FRUProductInfoArea ¶
type FRUProductInfoArea struct {
FormatVersion uint8
Length8B uint8
LanguageCode uint8
ManufacturerTypeLength TypeLength
Manufacturer []byte
NameTypeLength TypeLength
Name []byte
PartModelTypeLength TypeLength
PartModel []byte
VersionTypeLength TypeLength
Version []byte
SerialNumberTypeLength TypeLength
SerialNumber []byte
AssetTagTypeLength TypeLength
AssetTag []byte
FRUFileIDTypeLength TypeLength
FRUFileID []byte
Custom []FRUField
Unused []byte
Checksum uint8
}
The Product Info Area is present if the FRU itself is a separate product. This is typically seen when the FRU is an add-in card, sub-assembly, or a power supply from a separate vendor, etc. When this area is provided in the FRU Information Device that contains the Chassis Info Area, the product info is for the overall system, as initially manufactured.
see: fru§12. Product Info Area Format
func (*FRUProductInfoArea) Pack ¶
func (a *FRUProductInfoArea) Pack() []byte
Pack encodes the Product Info Area per fru§12.
func (*FRUProductInfoArea) Unpack ¶
func (fruProduct *FRUProductInfoArea) Unpack(msg []byte) error
type FRURecordType ¶
type FRURecordType uint8
func (FRURecordType) String ¶
func (t FRURecordType) String() string
type FRURecordTypeBaseCompatibility ¶
type FRURecordTypeBaseCompatibility struct {
ManufacturerID uint32
EntityID EntityID
CompatibilityBase uint8
CompatibilityCodeStart uint8
CodeRangeMask uint8
}
FRU: 18.5 Base Compatibility Record (Record Type 0x04)
func (*FRURecordTypeBaseCompatibility) Pack ¶
func (r *FRURecordTypeBaseCompatibility) Pack() []byte
Pack encodes record type 0x04 per fru§18.5.
func (*FRURecordTypeBaseCompatibility) Unpack ¶
func (f *FRURecordTypeBaseCompatibility) Unpack(msg []byte) error
type FRURecordTypeDCLoad ¶
type FRURecordTypeDCLoad struct {
OutputNumber uint8
NominalVoltage10mV int16
MinTolerableVoltage10mV int16
MaxTolerableVoltage10mV int16
RippleNoise1mV uint16
MinCurrentLoad1mA uint16
MaxCurrentLoad1mA uint16
}
FRU: 18.3 DC Load (Record Type 0x02)
func (*FRURecordTypeDCLoad) Pack ¶
func (o *FRURecordTypeDCLoad) Pack() []byte
Pack encodes record type 0x02 per fru§18.3.
func (*FRURecordTypeDCLoad) Unpack ¶
func (output *FRURecordTypeDCLoad) Unpack(msg []byte) error
type FRURecordTypeDCOutput ¶
type FRURecordTypeDCOutput struct {
// if the power supply provides this output even when the power supply is switched off.
OutputWhenOff bool
OutputNumber uint8
// Expected voltage from the power supply. Value is a signed short given in 10 millivolt increments.
// 额定电压 毫 - 伏特
NominalVoltage10mV int16
MaxNegativeVoltage10mV int16
MaxPositiveVoltage10mV int16
RippleNoise1mV uint16
// 毫 - 安培
MinCurrentDraw1mA uint16
MaxCurrentDraw1mA uint16
}
FRU: 18.2 DC Output (Record Type 0x01)
func (*FRURecordTypeDCOutput) Pack ¶
func (o *FRURecordTypeDCOutput) Pack() []byte
Pack encodes record type 0x01 per fru§18.2.
func (*FRURecordTypeDCOutput) Unpack ¶
func (output *FRURecordTypeDCOutput) Unpack(msg []byte) error
type FRURecordTypeExtendedCompatibilityRecord ¶
type FRURecordTypeExtendedCompatibilityRecord struct {
ManufacturerID uint32
EntityID EntityID
CompatibilityBase uint8
CompatibilityCodeStart uint8
CodeRangeMask uint8
}
FRU: 18.6 Extended Compatibility Record (Record Type 0x05)
func (*FRURecordTypeExtendedCompatibilityRecord) Pack ¶
func (r *FRURecordTypeExtendedCompatibilityRecord) Pack() []byte
Pack encodes record type 0x05 per fru§18.6.
func (*FRURecordTypeExtendedCompatibilityRecord) Unpack ¶
func (f *FRURecordTypeExtendedCompatibilityRecord) Unpack(msg []byte) error
type FRURecordTypeExtendedDCLoad ¶
type FRURecordTypeExtendedDCLoad struct {
IsCurrentUnit100mA bool // current units: true = 100 mA , false = 10 mA
OutputNumber uint8
NominalVoltage10mV int16
MinVoltage10mV int16
MaxVoltage10mV int16
RippleNoise1mV int16
MinCurrentLoad uint16 // units is determined by IsCurrentUnit100mA field
MaxCurrentLoad uint16 // units is determined by IsCurrentUnit100mA field
}
FRU: 18.3a Extended DC Load (Record Type 0x0A)
func (*FRURecordTypeExtendedDCLoad) Pack ¶
func (f *FRURecordTypeExtendedDCLoad) Pack() []byte
Pack encodes record type 0x0A per fru§18.3a.
func (*FRURecordTypeExtendedDCLoad) Unpack ¶
func (f *FRURecordTypeExtendedDCLoad) Unpack(msg []byte) error
type FRURecordTypeExtendedDCOutput ¶
type FRURecordTypeExtendedDCOutput struct {
// if the power supply provides this output even when the power supply is switched off.
OutputWhenOff bool
// This record can be used to support power supplies with outputs that exceed 65.535 Amps.
// 0b = 10 mA
// 1b = 100 mA
CurrentUnits100 bool
OutputNumber uint8
// Expected voltage from the power supply. Value is a signed short given in 10 millivolt increments.
// 毫 - 伏特
NominalVoltage10mV int16
MaxNegativeVoltage10mV int16
MaxPositiveVoltage10mV int16
RippleNoise uint16
// The unit is determined by CurrentUnits100 field.
MinCurrentDraw uint16
MaxCurrentDraw uint16
}
FRU: 18.2a Extended DC Output (Record Type 0x09)
func (*FRURecordTypeExtendedDCOutput) Pack ¶
func (o *FRURecordTypeExtendedDCOutput) Pack() []byte
Pack encodes record type 0x09 per fru§18.2a.
func (*FRURecordTypeExtendedDCOutput) Unpack ¶
func (output *FRURecordTypeExtendedDCOutput) Unpack(msg []byte) error
type FRURecordTypeManagementAccess ¶
type FRURecordTypeManagementAccess struct {
SubRecordType ManagementAccessSubRecordType
Data []byte // the size is MultiRecord.TypeLength.Length() - 1
}
FRU: 18.4 Management Access Record (Record Type 0x03)
func (*FRURecordTypeManagementAccess) Pack ¶
func (r *FRURecordTypeManagementAccess) Pack() []byte
Pack encodes record type 0x03 per fru§18.4.
func (*FRURecordTypeManagementAccess) Unpack ¶
func (f *FRURecordTypeManagementAccess) Unpack(msg []byte) error
type FRURecordTypeOEM ¶
FRU: 18.7 OEM Record (Record Types 0xC0-0xFF)
func (*FRURecordTypeOEM) Pack ¶
func (r *FRURecordTypeOEM) Pack() []byte
Pack encodes OEM multi-record types 0xC0–0xFF per fru§18.7.
func (*FRURecordTypeOEM) Unpack ¶
func (f *FRURecordTypeOEM) Unpack(msg []byte) error
type FRURecordTypePowerSupply ¶
type FRURecordTypePowerSupply struct {
// This field allows for Power Supplies with capacities from 0 to 4095 watts.
OverallCapacity uint16
// The highest instantaneous VA value that this supply draws during operation (other than during Inrush). In integer units. FFFFh if not specified.
PeakVA uint16
// Maximum inrush of current, in Amps, into the power supply. FFh if not specified.
InrushCurrent uint8 // 涌入电流
// Number of milliseconds before power supply loading enters non-startup operating range. Set to 0 if no inrush current specified.
InrushIntervalMilliSecond uint8
// This specifies the low end of acceptable voltage into the power supply. The units are 10mV.
LowEndInputVoltageRange1 uint16
// This specifies the high end of acceptable voltage into the power supply. The units are 10mV.
HighEndInputVoltageRange1 uint16
// This specifies the low end of acceptable voltage into the power supply. This field would be used if the power supply did not support auto-switch. Range 1 would define the 110V range, while range 2 would be used for 220V. The units are 10mV.
LowEndInputVoltageRange2 uint16
// This specifies the high end of acceptable voltage into the power supply. This field would be used if the power supply did not support auto-switch. Range 1 would define the 110V range, while range 2 would be used for 220V. The units are 10mV.
HighEndInputVoltageRange2 uint16
// This specifies the low end of acceptable frequency range into the power supply. Use 00h if supply accepts a DC input.
LowEndInputFrequencyRange uint8
// This specifies the high end of acceptable frequency range into the power supply. Use 00h for both Low End and High End frequency range if supply only takes a DC input.
HighEndInputFrequencyRange uint8
// Minimum number of milliseconds the power supply can hold up POWERGOOD (and maintain valid DC output) after input power is lost.
InputDropoutToleranceMilliSecond uint8
HotSwapSupport bool
AutoSwitch bool
PowerFactorCorrection bool
PredictiveFailSupport bool
// the number of seconds peak wattage can be sustained (0-15 seconds)
PeakWattageHoldupSecond uint8
// the peak wattage the power supply can produce during this time period
PeakCapacity uint16
CombinedWattageVoltage1 uint8 // bit 7:4 - Voltage 1
CombinedWattageVoltage2 uint8 // bit 3:0 - Voltage 2
TotalCombinedWattage uint16
// This field serves two purposes.
// It clarifies what type of predictive fail the power supply supports
// (pass/fail signal or the tachometer output of the power supply fan)
// and indicates the predictive failing point for tach outputs.
// This field should be written as zero and ignored if the
// predictive failure pin of the power supply is not supported.
//
// 0x00 Predictive fail pin indicates pass/fail
// 0x01 - 0xFF Lower threshold to indicate predictive failure (Rotations per second)
PredictiveFailTachometerLowerThreshold uint8 // RPS
}
fru: 18.1 Power Supply Information (Record Type 0x00)
type GeneratorID ¶
type GeneratorID uint16
GeneratorID is 2 bytes. the LSB represents: Slave Address (for IPMB) or Software ID (for system software); the MSB represents: Channel Number / LUN (for IPMB) or always 0 (for system software)
In some scenario, the GeneratorID is used as 1 byte, because for IPMB, the Slave Address and LUN info are carried in IPMI Request/Response Messages; and for system software, the MSB is always 0, so only LSB is need.
32.1 SEL Event Records
Byte 1 [7:1] - 7-bit Slave Address, or 7-bit system software ID [0] 0b = IPMB Slave Address, 1b = system software ID Byte 2 [7:4] - Channel number. Channel that event message was received over. 0h if the event message was received via the system interface, primary IPMB, or internally generated by the BMC. (New for IPMI v1.5. These bits were reserved in IPMI v1.0) [3:2] - reserved. Write as 00b. [1:0] - IPMB device LUN if byte 1 holds Slave Address. 00b otherwise
const ( GeneratorBMC GeneratorID = 0x0020 GeneratorBIOSPOST GeneratorID = 0x0001 GeneratorBIOSSMIHandler GeneratorID = 0x0033 GeneratorIntelNMFirmware GeneratorID = 0x002c // Node Manager GeneratorIntelMEFirmware GeneratorID = 0x602c // Management Engine // With Microsoft Windows Server* 2003 R2 and later versions, an Intelligent Platform Management Interface (IPMI) driver was added. // This added the capability of logging some operating system events to the SEL. GeneratorMicrosoftOS GeneratorID = 0x0041 // The **Open IPMI driver** supports the ability to put semi-custom and custom events in the system event log if a panic occurs. GeneratorLinuxKernelPanic GeneratorID = 0x0021 )
func (GeneratorID) ChannelNumber ¶
func (g GeneratorID) ChannelNumber() uint8
func (GeneratorID) LUN ¶
func (g GeneratorID) LUN() uint8
func (GeneratorID) OwnerID ¶
func (g GeneratorID) OwnerID() uint8
func (GeneratorID) OwnerIsSystemSoftware ¶
func (g GeneratorID) OwnerIsSystemSoftware() bool
OwnerIsSystemSoftware returns true if the owner is a system software, false means the owner is a IPMB slave address
func (GeneratorID) String ¶
func (g GeneratorID) String() string
type I2CAddress7Bit ¶
type I2CAddress7Bit uint8
I2CAddress7Bit is a 7-bit I2C address, the bit 0 to bit 6 take effect, bit 7 is always 0.
eg: `var a I2CAddress7Bit = 0x35`
- 0 011 0101 = 0x35
- 7 654 3210 bit position
func (I2CAddress7Bit) To8BitForRead ¶
func (a I2CAddress7Bit) To8BitForRead() I2CAddress8Bit
To8BitForRead convert 7-bit I2C address to 8-bit I2C address, bit 1 to bit 7 for I2C address, bit 0 set to 1
func (I2CAddress7Bit) To8BitForWrite ¶
func (a I2CAddress7Bit) To8BitForWrite() I2CAddress8Bit
To8BitForWrite convert 7-bit I2C address to 8-bit I2C address, bit 1 to bit 7 for I2C address, bit 0 set to 0
type I2CAddress8Bit ¶
type I2CAddress8Bit uint8
I2CAddress8Bit represents 8-bit I2C address, the 7-bit I2CAddress occupies bit 1 to bit 7, bit 0 indicates for write or read.
eg: `var a I2CAddress8Bit = 0x6A`
- 0110 101 0 = 0x6A (for write)
- 0110 101 1 = 0x6B (for read)
- 7654 321 0 bit position
func (I2CAddress8Bit) To7Bit ¶
func (a I2CAddress8Bit) To7Bit() I2CAddress7Bit
type IPMIRequest ¶
type IPMIRequest struct {
// SlaveAddress or SoftwareID
// Responder's Slave Address. 1 byte.
// LS bit is 0 for Slave Addresses and 1 for Software IDs.
// Upper 7-bits hold Slave Address or Software ID, respectively.
// This byte is always 20h when the BMC is the responder.
ResponderAddr uint8 // SlaveAddress or SoftwareID
// The lower 2-bits of the netFn byte identify the logical unit number, which provides further sub-addressing within the target node.
NetFn NetFn // (even) / rsLUN
ResponderLUN uint8 // lower 2 bits
// Checksum1 is filled by calling ComputeChecksum method
Checksum1 uint8
// SlaveAddress or SoftwareID
// Requester's Address. 1 byte.
// LS bit is 0 for Slave Addresses and 1 for Software IDs.
// Upper 7-bits hold Slave Address or Software ID, respectively.
// This byte is always 20h when the BMC is the requester.
RequesterAddr uint8 // rqSA
RequesterSequence uint8 // rqSeq, occupies the highest 6 bits, (so should left shift 2 bits)
RequesterLUN uint8 // rqLUN, occupies the lowest 2 bits
Command uint8 // Command ID
// Command Request Body Data defined by each command.
CommandData []byte // optional, 0 or more
// Checksum2 is filled by calling ComputeChecksum method
Checksum2 uint8
}
13.8 IPMI LAN Message Format
func (*IPMIRequest) ComputeChecksum ¶
func (req *IPMIRequest) ComputeChecksum()
func (*IPMIRequest) Pack ¶
func (req *IPMIRequest) Pack() []byte
type IPMIResponse ¶
type IPMIResponse struct {
// Requester's Address. 1 byte.
// LS bit is 0 for Slave Addresses and 1 for Software IDs.
// Upper 7-bits hold Slave Address or Software ID, respectively.
// This byte is always 20h when the BMC is the requester.
RequesterAddr uint8 // SlaveAddress or SoftwareID
// Network Function code
// The lower 2-bits of the netFn byte identify the logical unit number, which provides further sub-addressing within the target node.
NetFn NetFn // (odd) higher 6 bits
// Requester's LUN
RequestLUN uint8 // lower 2 bits
// 8-bit checksum algorithm: Initialize checksum to 0.
// For each byte, checksum = (checksum + byte) modulo 256.
// Then checksum = - checksum.
// When the checksum and the bytes are added together, modulo 256, the result should be 0.
Checksum1 uint8
// Responder's Slave Address. 1 byte.
// LS bit is 0 for Slave Addresses and 1 for Software IDs.
// Upper 7-bits hold Slave Address or Software ID, respectively.
// This byte is always 20h when the BMC is the responder.
ResponderAddr uint8 // SlaveAddress or SoftwareID
// Sequence number. This field is used to verify that a response is for a particular instance of a request.
// Refer to the IPMB specification for additional information on use and operation of the Seq field.
RequesterSequence uint8 // higher 6 bits
ResponderLUN uint8 // lower 2 bits
Command uint8
// Completion code returned in the response to indicated success/failure status of the request.
CompletionCode uint8
// Response Data
Data []byte // optional
Checksum2 uint8
}
IPMIResponse represent IPMI PayloadType msg response
func (*IPMIResponse) Unpack ¶
func (res *IPMIResponse) Unpack(msg []byte) error
type IntegrityAlg ¶
type IntegrityAlg uint8
13.28.4
const ( IntegrityAlg_None IntegrityAlg = 0x00 // Mandatory IntegrityAlg_HMAC_SHA1_96 IntegrityAlg = 0x01 // Mandatory IntegrityAlg_HMAC_MD5_128 IntegrityAlg = 0x02 // Optional IntegrityAlg_MD5_128 IntegrityAlg = 0x03 // Optional IntegrityAlg_HMAC_SHA256_128 IntegrityAlg = 0x04 // Optional )
func (IntegrityAlg) String ¶
func (integrityAlg IntegrityAlg) String() string
type LanConfig ¶
type LanConfig struct {
SetInProgress SetInProgressState // #0, Read Only
AuthTypeSupport LanConfigParam_AuthTypeSupport // #1
AuthTypeEnables LanConfigParam_AuthTypeEnables // #2
IP net.IP // #3
IPSource LanIPAddressSource // #4
MAC net.HardwareAddr // #5, can be Read Only.
SubnetMask net.IP // #6
IPv4HeaderParams LanConfigParam_IPv4HeaderParams // #7
PrimaryRMCPPort uint16 // #8
SecondaryRMCPPort uint16 // #9
ARPControl LanConfigParam_ARPControl // #10
GratuitousARPIntervalMilliSec uint32 // #11
DefaultGatewayIP net.IP // #12
DefaultGatewayMAC net.HardwareAddr // #13
BackupGatewayIP net.IP // #14
BackupGatewayMAC net.HardwareAddr // #15
CommunityString CommunityString // #16
AlertDestinationsCount uint8 // #17, Read Only
VLANEnabled bool // #20
VLANID uint16 // #20
VLANPriority uint8 // #21
CipherSuitesSupport uint8 // #22, Read Only
CipherSuitesID LanConfigParam_CipherSuitesID // #23, Read Only
CipherSuitesPrivLevel LanConfigParam_CipherSuitesPrivLevel // #24
BadPasswordThreshold LanConfigParam_BadPasswordThreshold // #26
}
type LanConfigParamSelector ¶
type LanConfigParamSelector uint8
Table 23-4, LAN Configuration Parameters Parameter selector
const ( LanConfigParamSelector_SetInProgress LanConfigParamSelector = 0 LanConfigParamSelector_AuthTypeSupport LanConfigParamSelector = 1 // read only LanConfigParamSelector_AuthTypeEnables LanConfigParamSelector = 2 LanConfigParamSelector_IP LanConfigParamSelector = 3 LanConfigParamSelector_IPSource LanConfigParamSelector = 4 LanConfigParamSelector_MAC LanConfigParamSelector = 5 // can be read only LanConfigParamSelector_SubnetMask LanConfigParamSelector = 6 LanConfigParamSelector_IPv4HeaderParams LanConfigParamSelector = 7 LanConfigParamSelector_PrimaryRMCPPort LanConfigParamSelector = 8 LanConfigParamSelector_SecondaryRMCPPort LanConfigParamSelector = 9 LanConfigParamSelector_ARPControl LanConfigParamSelector = 10 LanConfigParamSelector_GratuitousARPInterval LanConfigParamSelector = 11 LanConfigParamSelector_DefaultGatewayIP LanConfigParamSelector = 12 LanConfigParamSelector_DefaultGatewayMAC LanConfigParamSelector = 13 LanConfigParamSelector_BackupGatewayIP LanConfigParamSelector = 14 LanConfigParamSelector_BackupGatewayMAC LanConfigParamSelector = 15 LanConfigParamSelector_CommunityString LanConfigParamSelector = 16 LanConfigParamSelector_AlertDestinationsCount LanConfigParamSelector = 17 // read only LanConfigParamSelector_AlertDestinationType LanConfigParamSelector = 18 LanConfigParamSelector_AlertDestinationAddress LanConfigParamSelector = 19 LanConfigParamSelector_VLANID LanConfigParamSelector = 20 LanConfigParamSelector_VLANPriority LanConfigParamSelector = 21 LanConfigParamSelector_CipherSuitesSupport LanConfigParamSelector = 22 // read only LanConfigParamSelector_CipherSuitesID LanConfigParamSelector = 23 // read only LanConfigParamSelector_CipherSuitesPrivLevel LanConfigParamSelector = 24 LanConfigParamSelector_AlertDestinationVLAN LanConfigParamSelector = 25 // can be read only LanConfigParamSelector_BadPasswordThreshold LanConfigParamSelector = 26 LanConfigParamSelector_IPv6Support LanConfigParamSelector = 50 // read only LanConfigParamSelector_IPv6Enables LanConfigParamSelector = 51 LanConfigParamSelector_IPv6StaticTrafficClass LanConfigParamSelector = 52 LanConfigParamSelector_IPv6StaticHopLimit LanConfigParamSelector = 53 LanConfigParamSelector_IPv6FlowLabel LanConfigParamSelector = 54 LanConfigParamSelector_IPv6Status LanConfigParamSelector = 55 // read only LanConfigParamSelector_IPv6StaticAddress LanConfigParamSelector = 56 LanConfigParamSelector_IPv6DHCPv6StaticDUIDCount LanConfigParamSelector = 57 // read only LanConfigParamSelector_IPv6DHCPv6StaticDUID LanConfigParamSelector = 58 LanConfigParamSelector_IPv6DynamicAddress LanConfigParamSelector = 59 // read only LanConfigParamSelector_IPv6DHCPv6DynamicDUIDCount LanConfigParamSelector = 60 // read only LanConfigParamSelector_IPv6DHCPv6DynamicDUID LanConfigParamSelector = 61 LanConfigParamSelector_IPv6DHCPv6TimingConfigSupport LanConfigParamSelector = 62 // read only LanConfigParamSelector_IPv6DHCPv6TimingConfig LanConfigParamSelector = 63 LanConfigParamSelector_IPv6RouterAddressConfigControl LanConfigParamSelector = 64 LanConfigParamSelector_IPv6StaticRouter1IP LanConfigParamSelector = 65 LanConfigParamSelector_IPv6StaticRouter1MAC LanConfigParamSelector = 66 LanConfigParamSelector_IPv6StaticRouter1PrefixLength LanConfigParamSelector = 67 LanConfigParamSelector_IPv6StaticRouter1PrefixValue LanConfigParamSelector = 68 LanConfigParamSelector_IPv6StaticRouter2IP LanConfigParamSelector = 69 LanConfigParamSelector_IPv6StaticRouter2MAC LanConfigParamSelector = 70 LanConfigParamSelector_IPv6StaticRouter2PrefixLength LanConfigParamSelector = 71 LanConfigParamSelector_IPv6StaticRouter2PrefixValue LanConfigParamSelector = 72 LanConfigParamSelector_IPv6DynamicRouterInfoCount LanConfigParamSelector = 73 // read only LanConfigParamSelector_IPv6DynamicRouterInfoIP LanConfigParamSelector = 74 // read only LanConfigParamSelector_IPv6DynamicRouterInfoMAC LanConfigParamSelector = 75 // read only LanConfigParamSelector_IPv6DynamicRouterInfoPrefixLength LanConfigParamSelector = 76 // read only LanConfigParamSelector_IPv6DynamicRouterInfoPrefixValue LanConfigParamSelector = 77 // read only LanConfigParamSelector_IPv6DynamicRouterReceivedHopLimit LanConfigParamSelector = 78 // read only LanConfigParamSelector_IPv6NDSLAACTimingConfigSupport LanConfigParamSelector = 79 // read only, IPv6 Neighbor Discovery / SLAAC LanConfigParamSelector_IPv6NDSLAACTimingConfig LanConfigParamSelector = 80 )
func (LanConfigParamSelector) String ¶
func (lanConfigParam LanConfigParamSelector) String() string
type LanConfigParam_ARPControl ¶
func (*LanConfigParam_ARPControl) Format ¶
func (param *LanConfigParam_ARPControl) Format() string
func (*LanConfigParam_ARPControl) LanConfigParameter ¶
func (param *LanConfigParam_ARPControl) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_ARPControl) Pack ¶
func (param *LanConfigParam_ARPControl) Pack() []byte
func (*LanConfigParam_ARPControl) Unpack ¶
func (param *LanConfigParam_ARPControl) Unpack(data []byte) error
type LanConfigParam_AlertDestinationAddress ¶
type LanConfigParam_AlertDestinationAddress struct {
SetSelector uint8
IsIPv6 bool
// - 0b = use default gateway first, then backup gateway
// (Note: older implementations (errata 4 or earlier) may only send to the default gateway.)
// - 1b = use backup gateway
UseBackupGateway bool
IPv4 net.IP
MAC net.HardwareAddr
IPv6 net.IP
}
func (*LanConfigParam_AlertDestinationAddress) Format ¶
func (param *LanConfigParam_AlertDestinationAddress) Format() string
func (*LanConfigParam_AlertDestinationAddress) LanConfigParameter ¶
func (param *LanConfigParam_AlertDestinationAddress) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_AlertDestinationAddress) Pack ¶
func (param *LanConfigParam_AlertDestinationAddress) Pack() []byte
func (*LanConfigParam_AlertDestinationAddress) Unpack ¶
func (param *LanConfigParam_AlertDestinationAddress) Unpack(data []byte) error
type LanConfigParam_AlertDestinationType ¶
type LanConfigParam_AlertDestinationType struct {
// Destination selector, 0 based.
// Destination 0 is always present as a volatile destination that is used with the Alert Immediate command.
SetSelector uint8
// Alert Acknowledge
// - 0b = Unacknowledged.
// Alert is assumed successful if transmission occurs without error.
// This value is also used with Callback numbers.
// - 1b = Acknowledged.
// Alert is assumed successful only if acknowledged is returned.
// Note, some alert types, such as Dial Page, do not support an acknowledge
AlertAcknowledged bool
// Destination Type
// - 000b = PET Trap destination
// - 001b - 101b = reserved
// - 110b = OEM 1
// - 111b = OEM 2
DestinationType uint8
// Alert Acknowledge Timeout / Retry Interval, in seconds, 0-based (i.e. minimum
// timeout = 1 second)
AlertAcknowledgeTimeout uint8
// Number of times to retry alert to given destination.
Retries uint8
}
func (*LanConfigParam_AlertDestinationType) Format ¶
func (param *LanConfigParam_AlertDestinationType) Format() string
func (*LanConfigParam_AlertDestinationType) LanConfigParameter ¶
func (param *LanConfigParam_AlertDestinationType) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_AlertDestinationType) Pack ¶
func (param *LanConfigParam_AlertDestinationType) Pack() []byte
func (*LanConfigParam_AlertDestinationType) Unpack ¶
func (param *LanConfigParam_AlertDestinationType) Unpack(data []byte) error
type LanConfigParam_AlertDestinationVLAN ¶
type LanConfigParam_AlertDestinationVLAN struct {
// data 1 - Set Selector = Destination Selector.
// - [7:4] - reserved
// - [3:0] - Destination selector.
// Destination 0 is always present as a volatile destination that is used with the Alert Immediate command.
SetSelector uint8
// Address Format.
// VLAN ID is used with this destination
// - 0h = VLAN ID not used with this destination
// - 1h = 802.1q VLAN TAG
Enabled bool
// data 3-4 - VLAN TAG
// - [7:0] - VLAN ID, least-significant byte
// - [11:8] - VLAN ID, most-significant nibble
// - [12] - CFI (Canonical Format Indicator. Set to 0b)
// - [15:13] - User priority (000b, typical)
VLANID uint16
CFI bool
Priority uint8
}
func (*LanConfigParam_AlertDestinationVLAN) Format ¶
func (param *LanConfigParam_AlertDestinationVLAN) Format() string
func (*LanConfigParam_AlertDestinationVLAN) LanConfigParameter ¶
func (param *LanConfigParam_AlertDestinationVLAN) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_AlertDestinationVLAN) Pack ¶
func (param *LanConfigParam_AlertDestinationVLAN) Pack() []byte
func (*LanConfigParam_AlertDestinationVLAN) Unpack ¶
func (param *LanConfigParam_AlertDestinationVLAN) Unpack(data []byte) error
type LanConfigParam_AlertDestinationsCount ¶
type LanConfigParam_AlertDestinationsCount struct {
// [7:4] - reserved.
// [3:0] - Number LAN Destinations. A count of 0h indicates LAN Alerting is not supported.
// This value is number of non-volatile destinations.
Count uint8
}
Number of LAN Alert Destinations supported on this channel. (Read Only).
At least one set of non-volatile destination information is required if LAN alerting is supported.
Additional non-volatile destination parameters can optionally be provided for supporting an alert 'call down' list policy.
A maximum of fifteen (1h to Fh) non-volatile destinations are supported in this specification. Destination 0 is always present as a volatile destination that is used with the Alert Immediate command.
func (*LanConfigParam_AlertDestinationsCount) Format ¶
func (param *LanConfigParam_AlertDestinationsCount) Format() string
func (*LanConfigParam_AlertDestinationsCount) LanConfigParameter ¶
func (param *LanConfigParam_AlertDestinationsCount) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_AlertDestinationsCount) Pack ¶
func (param *LanConfigParam_AlertDestinationsCount) Pack() []byte
func (*LanConfigParam_AlertDestinationsCount) Unpack ¶
func (param *LanConfigParam_AlertDestinationsCount) Unpack(data []byte) error
type LanConfigParam_AuthTypeEnables ¶
type LanConfigParam_AuthTypeEnables struct {
Callback *AuthTypesEnabled
User *AuthTypesEnabled
Operator *AuthTypesEnabled
Admin *AuthTypesEnabled
OEM *AuthTypesEnabled
}
func (*LanConfigParam_AuthTypeEnables) Format ¶
func (param *LanConfigParam_AuthTypeEnables) Format() string
func (*LanConfigParam_AuthTypeEnables) LanConfigParameter ¶
func (param *LanConfigParam_AuthTypeEnables) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_AuthTypeEnables) Pack ¶
func (param *LanConfigParam_AuthTypeEnables) Pack() []byte
func (*LanConfigParam_AuthTypeEnables) Unpack ¶
func (param *LanConfigParam_AuthTypeEnables) Unpack(data []byte) error
type LanConfigParam_AuthTypeSupport ¶
func (*LanConfigParam_AuthTypeSupport) Format ¶
func (param *LanConfigParam_AuthTypeSupport) Format() string
func (*LanConfigParam_AuthTypeSupport) LanConfigParameter ¶
func (param *LanConfigParam_AuthTypeSupport) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_AuthTypeSupport) Pack ¶
func (param *LanConfigParam_AuthTypeSupport) Pack() []byte
func (*LanConfigParam_AuthTypeSupport) Unpack ¶
func (param *LanConfigParam_AuthTypeSupport) Unpack(data []byte) error
type LanConfigParam_BackupGatewayIP ¶
func (*LanConfigParam_BackupGatewayIP) Format ¶
func (param *LanConfigParam_BackupGatewayIP) Format() string
func (*LanConfigParam_BackupGatewayIP) LanConfigParameter ¶
func (param *LanConfigParam_BackupGatewayIP) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_BackupGatewayIP) Pack ¶
func (param *LanConfigParam_BackupGatewayIP) Pack() []byte
func (*LanConfigParam_BackupGatewayIP) Unpack ¶
func (param *LanConfigParam_BackupGatewayIP) Unpack(data []byte) error
type LanConfigParam_BackupGatewayMAC ¶
type LanConfigParam_BackupGatewayMAC struct {
MAC net.HardwareAddr
}
func (*LanConfigParam_BackupGatewayMAC) Format ¶
func (param *LanConfigParam_BackupGatewayMAC) Format() string
func (*LanConfigParam_BackupGatewayMAC) LanConfigParameter ¶
func (param *LanConfigParam_BackupGatewayMAC) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_BackupGatewayMAC) Pack ¶
func (param *LanConfigParam_BackupGatewayMAC) Pack() []byte
func (*LanConfigParam_BackupGatewayMAC) Unpack ¶
func (param *LanConfigParam_BackupGatewayMAC) Unpack(data []byte) error
type LanConfigParam_BadPasswordThreshold ¶
type LanConfigParam_BadPasswordThreshold struct {
// Generate Session Audit Event
// - 0b = do not generate an event message when the user is disabled.
// - 1b = generate a Session Audit sensor "Invalid password disable" event message.
GenerateSessionAuditEvent bool
// Bad Password Threshold number
Threshold uint8
// Attempt Count Reset Interval.
// The raw data occupies 2 bytes, and the unit is in tens of seconds.
//
// 0 means the Attempt Count Reset Interval is disabled.
// The count of bad password attempts is retained as long as
// the BMC remains powered and is not reinitialized.
AttemptCountResetIntervalSec uint32
// User Lockout Interval
// The raw data occupies 2 bytes, and the unit is in tens of seconds.
//
// 0 means the User Lockout Interval is disabled.
// If a user was automatically disabled due to the Bad Password threshold,
// the user will remain disabled until re-enabled via the Set User Access command.
UserLockoutIntervalSec uint32
}
func (*LanConfigParam_BadPasswordThreshold) Format ¶
func (param *LanConfigParam_BadPasswordThreshold) Format() string
func (*LanConfigParam_BadPasswordThreshold) LanConfigParameter ¶
func (param *LanConfigParam_BadPasswordThreshold) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_BadPasswordThreshold) Pack ¶
func (param *LanConfigParam_BadPasswordThreshold) Pack() []byte
func (*LanConfigParam_BadPasswordThreshold) Unpack ¶
func (param *LanConfigParam_BadPasswordThreshold) Unpack(data []byte) error
type LanConfigParam_CipherSuitesID ¶
type LanConfigParam_CipherSuitesID struct {
IDs [16]CipherSuiteID
}
func (*LanConfigParam_CipherSuitesID) Format ¶
func (param *LanConfigParam_CipherSuitesID) Format() string
func (*LanConfigParam_CipherSuitesID) LanConfigParameter ¶
func (param *LanConfigParam_CipherSuitesID) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_CipherSuitesID) Pack ¶
func (param *LanConfigParam_CipherSuitesID) Pack() []byte
func (*LanConfigParam_CipherSuitesID) Unpack ¶
func (param *LanConfigParam_CipherSuitesID) Unpack(data []byte) error
type LanConfigParam_CipherSuitesPrivLevel ¶
type LanConfigParam_CipherSuitesPrivLevel struct {
PrivLevels [16]PrivilegeLevel
}
func (*LanConfigParam_CipherSuitesPrivLevel) Format ¶
func (param *LanConfigParam_CipherSuitesPrivLevel) Format() string
func (*LanConfigParam_CipherSuitesPrivLevel) LanConfigParameter ¶
func (param *LanConfigParam_CipherSuitesPrivLevel) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_CipherSuitesPrivLevel) Pack ¶
func (param *LanConfigParam_CipherSuitesPrivLevel) Pack() []byte
func (*LanConfigParam_CipherSuitesPrivLevel) Unpack ¶
func (param *LanConfigParam_CipherSuitesPrivLevel) Unpack(data []byte) error
type LanConfigParam_CipherSuitesSupport ¶
type LanConfigParam_CipherSuitesSupport struct {
// Cipher Suite Entry count. Number of Cipher Suite entries, 1-based, 10h max.
Count uint8
}
func (*LanConfigParam_CipherSuitesSupport) Format ¶
func (param *LanConfigParam_CipherSuitesSupport) Format() string
func (*LanConfigParam_CipherSuitesSupport) LanConfigParameter ¶
func (param *LanConfigParam_CipherSuitesSupport) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_CipherSuitesSupport) Pack ¶
func (param *LanConfigParam_CipherSuitesSupport) Pack() []byte
func (*LanConfigParam_CipherSuitesSupport) Unpack ¶
func (param *LanConfigParam_CipherSuitesSupport) Unpack(data []byte) error
type LanConfigParam_CommunityString ¶
type LanConfigParam_CommunityString struct {
CommunityString CommunityString
}
func (*LanConfigParam_CommunityString) Format ¶
func (param *LanConfigParam_CommunityString) Format() string
func (*LanConfigParam_CommunityString) LanConfigParameter ¶
func (param *LanConfigParam_CommunityString) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_CommunityString) Pack ¶
func (param *LanConfigParam_CommunityString) Pack() []byte
func (*LanConfigParam_CommunityString) Unpack ¶
func (param *LanConfigParam_CommunityString) Unpack(data []byte) error
type LanConfigParam_DefaultGatewayIP ¶
func (*LanConfigParam_DefaultGatewayIP) Format ¶
func (param *LanConfigParam_DefaultGatewayIP) Format() string
func (*LanConfigParam_DefaultGatewayIP) LanConfigParameter ¶
func (param *LanConfigParam_DefaultGatewayIP) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_DefaultGatewayIP) Pack ¶
func (param *LanConfigParam_DefaultGatewayIP) Pack() []byte
func (*LanConfigParam_DefaultGatewayIP) Unpack ¶
func (param *LanConfigParam_DefaultGatewayIP) Unpack(data []byte) error
type LanConfigParam_DefaultGatewayMAC ¶
type LanConfigParam_DefaultGatewayMAC struct {
MAC net.HardwareAddr
}
func (*LanConfigParam_DefaultGatewayMAC) Format ¶
func (param *LanConfigParam_DefaultGatewayMAC) Format() string
func (*LanConfigParam_DefaultGatewayMAC) LanConfigParameter ¶
func (param *LanConfigParam_DefaultGatewayMAC) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_DefaultGatewayMAC) Pack ¶
func (param *LanConfigParam_DefaultGatewayMAC) Pack() []byte
func (*LanConfigParam_DefaultGatewayMAC) Unpack ¶
func (param *LanConfigParam_DefaultGatewayMAC) Unpack(data []byte) error
type LanConfigParam_GratuitousARPInterval ¶
type LanConfigParam_GratuitousARPInterval struct {
// Gratuitous ARP interval in 500 millisecond increments. 0-based.
MilliSec uint32
}
func (*LanConfigParam_GratuitousARPInterval) Format ¶
func (param *LanConfigParam_GratuitousARPInterval) Format() string
func (*LanConfigParam_GratuitousARPInterval) LanConfigParameter ¶
func (param *LanConfigParam_GratuitousARPInterval) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_GratuitousARPInterval) Pack ¶
func (param *LanConfigParam_GratuitousARPInterval) Pack() []byte
func (*LanConfigParam_GratuitousARPInterval) Unpack ¶
func (param *LanConfigParam_GratuitousARPInterval) Unpack(data []byte) error
type LanConfigParam_IP ¶
func (*LanConfigParam_IP) Format ¶
func (param *LanConfigParam_IP) Format() string
func (*LanConfigParam_IP) LanConfigParameter ¶
func (param *LanConfigParam_IP) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IP) Pack ¶
func (param *LanConfigParam_IP) Pack() []byte
func (*LanConfigParam_IP) Unpack ¶
func (param *LanConfigParam_IP) Unpack(data []byte) error
type LanConfigParam_IPSource ¶
type LanConfigParam_IPSource struct {
Source LanIPAddressSource
}
func (*LanConfigParam_IPSource) Format ¶
func (param *LanConfigParam_IPSource) Format() string
func (*LanConfigParam_IPSource) LanConfigParameter ¶
func (param *LanConfigParam_IPSource) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPSource) Pack ¶
func (param *LanConfigParam_IPSource) Pack() []byte
func (*LanConfigParam_IPSource) Unpack ¶
func (param *LanConfigParam_IPSource) Unpack(data []byte) error
type LanConfigParam_IPv4HeaderParams ¶
type LanConfigParam_IPv4HeaderParams struct {
// data 1 - Time-to-live. 1-based. (Default = 40h)
// Value for time-to-live parameter in IP Header for RMCP packets and PET Traps
// transmitted from this channel.
TTL uint8
// data 2
// - [7:5] - Flags. Sets value of bit 1 in the Flags field in the IP Header for packets transmitted
// by this channel. (Default = 010b don't fragment)
// - [4:0] - reserved
Flags uint8
// data 3
// - [7:5] - Precedence (Default = 000b)
Precedence uint8
// data 3
// - [4:1] - Type of Service (Default = 1000b, 'minimize delay')
// - [0] - reserved
TOS uint8
}
func (*LanConfigParam_IPv4HeaderParams) Format ¶
func (param *LanConfigParam_IPv4HeaderParams) Format() string
func (*LanConfigParam_IPv4HeaderParams) LanConfigParameter ¶
func (param *LanConfigParam_IPv4HeaderParams) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv4HeaderParams) Pack ¶
func (param *LanConfigParam_IPv4HeaderParams) Pack() []byte
func (*LanConfigParam_IPv4HeaderParams) Unpack ¶
func (param *LanConfigParam_IPv4HeaderParams) Unpack(data []byte) error
type LanConfigParam_IPv6DHCPv6DynamicDUID ¶
type LanConfigParam_IPv6DHCPv6DynamicDUID struct {
SetSelector uint8
BlockSelector uint8
DUID [16]byte
}
func (*LanConfigParam_IPv6DHCPv6DynamicDUID) Format ¶
func (param *LanConfigParam_IPv6DHCPv6DynamicDUID) Format() string
func (*LanConfigParam_IPv6DHCPv6DynamicDUID) LanConfigParameter ¶
func (param *LanConfigParam_IPv6DHCPv6DynamicDUID) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6DHCPv6DynamicDUID) Pack ¶
func (param *LanConfigParam_IPv6DHCPv6DynamicDUID) Pack() []byte
func (*LanConfigParam_IPv6DHCPv6DynamicDUID) Unpack ¶
func (param *LanConfigParam_IPv6DHCPv6DynamicDUID) Unpack(data []byte) error
type LanConfigParam_IPv6DHCPv6DynamicDUIDCount ¶
type LanConfigParam_IPv6DHCPv6DynamicDUIDCount struct {
// The maximum number of 16-byte blocks that can be used for storing each DUID via
// the IPv6 DHCPv6 Static DUIDs parameter. 1-based. Returns 0 if IPv6 Static Address
// configuration is not supported.
Max uint8
}
func (*LanConfigParam_IPv6DHCPv6DynamicDUIDCount) Format ¶
func (param *LanConfigParam_IPv6DHCPv6DynamicDUIDCount) Format() string
func (*LanConfigParam_IPv6DHCPv6DynamicDUIDCount) LanConfigParameter ¶
func (param *LanConfigParam_IPv6DHCPv6DynamicDUIDCount) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6DHCPv6DynamicDUIDCount) Pack ¶
func (param *LanConfigParam_IPv6DHCPv6DynamicDUIDCount) Pack() []byte
func (*LanConfigParam_IPv6DHCPv6DynamicDUIDCount) Unpack ¶
func (param *LanConfigParam_IPv6DHCPv6DynamicDUIDCount) Unpack(data []byte) error
type LanConfigParam_IPv6DHCPv6StaticDUID ¶
type LanConfigParam_IPv6DHCPv6StaticDUID struct {
SetSelector uint8
BlockSelector uint8
DUID [16]byte
}
func (*LanConfigParam_IPv6DHCPv6StaticDUID) Format ¶
func (param *LanConfigParam_IPv6DHCPv6StaticDUID) Format() string
func (*LanConfigParam_IPv6DHCPv6StaticDUID) LanConfigParameter ¶
func (param *LanConfigParam_IPv6DHCPv6StaticDUID) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6DHCPv6StaticDUID) Pack ¶
func (param *LanConfigParam_IPv6DHCPv6StaticDUID) Pack() []byte
func (*LanConfigParam_IPv6DHCPv6StaticDUID) Unpack ¶
func (param *LanConfigParam_IPv6DHCPv6StaticDUID) Unpack(data []byte) error
type LanConfigParam_IPv6DHCPv6StaticDUIDCount ¶
type LanConfigParam_IPv6DHCPv6StaticDUIDCount struct {
// The maximum number of 16-byte blocks that can be used for storing each DUID via
// the IPv6 DHCPv6 Static DUIDs parameter. 1-based. Returns 0 if IPv6 Static Address
// configuration is not supported.
Max uint8
}
func (*LanConfigParam_IPv6DHCPv6StaticDUIDCount) Format ¶
func (param *LanConfigParam_IPv6DHCPv6StaticDUIDCount) Format() string
func (*LanConfigParam_IPv6DHCPv6StaticDUIDCount) LanConfigParameter ¶
func (param *LanConfigParam_IPv6DHCPv6StaticDUIDCount) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6DHCPv6StaticDUIDCount) Pack ¶
func (param *LanConfigParam_IPv6DHCPv6StaticDUIDCount) Pack() []byte
func (*LanConfigParam_IPv6DHCPv6StaticDUIDCount) Unpack ¶
func (param *LanConfigParam_IPv6DHCPv6StaticDUIDCount) Unpack(data []byte) error
type LanConfigParam_IPv6DHCPv6TimingConfig ¶
func (*LanConfigParam_IPv6DHCPv6TimingConfig) Format ¶
func (param *LanConfigParam_IPv6DHCPv6TimingConfig) Format() string
func (*LanConfigParam_IPv6DHCPv6TimingConfig) LanConfigParameter ¶
func (param *LanConfigParam_IPv6DHCPv6TimingConfig) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6DHCPv6TimingConfig) Pack ¶
func (param *LanConfigParam_IPv6DHCPv6TimingConfig) Pack() []byte
func (*LanConfigParam_IPv6DHCPv6TimingConfig) Unpack ¶
func (param *LanConfigParam_IPv6DHCPv6TimingConfig) Unpack(data []byte) error
type LanConfigParam_IPv6DHCPv6TimingConfigSupport ¶
type LanConfigParam_IPv6DHCPv6TimingConfigSupport struct {
Mode LanIPv6DHCPv6TimingConfigMode
}
func (*LanConfigParam_IPv6DHCPv6TimingConfigSupport) Format ¶
func (param *LanConfigParam_IPv6DHCPv6TimingConfigSupport) Format() string
func (*LanConfigParam_IPv6DHCPv6TimingConfigSupport) LanConfigParameter ¶
func (param *LanConfigParam_IPv6DHCPv6TimingConfigSupport) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6DHCPv6TimingConfigSupport) Pack ¶
func (param *LanConfigParam_IPv6DHCPv6TimingConfigSupport) Pack() []byte
func (*LanConfigParam_IPv6DHCPv6TimingConfigSupport) Unpack ¶
func (param *LanConfigParam_IPv6DHCPv6TimingConfigSupport) Unpack(data []byte) error
type LanConfigParam_IPv6DynamicAddress ¶
type LanConfigParam_IPv6DynamicAddress struct {
SetSelector uint8
Enabled bool
Source LanIPv6DynamicAddressSource
IPv6 net.IP
PrefixLength uint8
Status LanIPv6AddressStatus
}
func (*LanConfigParam_IPv6DynamicAddress) Format ¶
func (param *LanConfigParam_IPv6DynamicAddress) Format() string
func (*LanConfigParam_IPv6DynamicAddress) LanConfigParameter ¶
func (param *LanConfigParam_IPv6DynamicAddress) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6DynamicAddress) Pack ¶
func (param *LanConfigParam_IPv6DynamicAddress) Pack() []byte
func (*LanConfigParam_IPv6DynamicAddress) Unpack ¶
func (param *LanConfigParam_IPv6DynamicAddress) Unpack(data []byte) error
type LanConfigParam_IPv6DynamicRouterInfoIP ¶
func (*LanConfigParam_IPv6DynamicRouterInfoIP) Format ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoIP) Format() string
func (*LanConfigParam_IPv6DynamicRouterInfoIP) LanConfigParameter ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoIP) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6DynamicRouterInfoIP) Pack ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoIP) Pack() []byte
func (*LanConfigParam_IPv6DynamicRouterInfoIP) Unpack ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoIP) Unpack(data []byte) error
type LanConfigParam_IPv6DynamicRouterInfoMAC ¶
type LanConfigParam_IPv6DynamicRouterInfoMAC struct {
SetSelector uint8
MAC net.HardwareAddr
}
func (*LanConfigParam_IPv6DynamicRouterInfoMAC) Format ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoMAC) Format() string
func (*LanConfigParam_IPv6DynamicRouterInfoMAC) LanConfigParameter ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoMAC) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6DynamicRouterInfoMAC) Pack ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoMAC) Pack() []byte
func (*LanConfigParam_IPv6DynamicRouterInfoMAC) Unpack ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoMAC) Unpack(data []byte) error
type LanConfigParam_IPv6DynamicRouterInfoPrefixLength ¶
type LanConfigParam_IPv6DynamicRouterInfoPrefixLength struct {
SetSelector uint8
PrefixLength uint8
}
func (*LanConfigParam_IPv6DynamicRouterInfoPrefixLength) Format ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoPrefixLength) Format() string
func (*LanConfigParam_IPv6DynamicRouterInfoPrefixLength) LanConfigParameter ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoPrefixLength) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6DynamicRouterInfoPrefixLength) Pack ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoPrefixLength) Pack() []byte
func (*LanConfigParam_IPv6DynamicRouterInfoPrefixLength) Unpack ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoPrefixLength) Unpack(data []byte) error
type LanConfigParam_IPv6DynamicRouterInfoPrefixValue ¶
type LanConfigParam_IPv6DynamicRouterInfoPrefixValue struct {
SetSelector uint8
PrefixValue [16]byte
}
func (*LanConfigParam_IPv6DynamicRouterInfoPrefixValue) Format ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoPrefixValue) Format() string
func (*LanConfigParam_IPv6DynamicRouterInfoPrefixValue) LanConfigParameter ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoPrefixValue) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6DynamicRouterInfoPrefixValue) Pack ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoPrefixValue) Pack() []byte
func (*LanConfigParam_IPv6DynamicRouterInfoPrefixValue) Unpack ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoPrefixValue) Unpack(data []byte) error
type LanConfigParam_IPv6DynamicRouterInfoSets ¶
type LanConfigParam_IPv6DynamicRouterInfoSets struct {
// Number of dynamic Router Address information entries
Count uint8
}
func (*LanConfigParam_IPv6DynamicRouterInfoSets) Format ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoSets) Format() string
func (*LanConfigParam_IPv6DynamicRouterInfoSets) LanConfigParameter ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoSets) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6DynamicRouterInfoSets) Pack ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoSets) Pack() []byte
func (*LanConfigParam_IPv6DynamicRouterInfoSets) Unpack ¶
func (param *LanConfigParam_IPv6DynamicRouterInfoSets) Unpack(data []byte) error
type LanConfigParam_IPv6DynamicRouterReceivedHopLimit ¶
type LanConfigParam_IPv6DynamicRouterReceivedHopLimit struct {
HopLimit uint8
}
func (*LanConfigParam_IPv6DynamicRouterReceivedHopLimit) Format ¶
func (param *LanConfigParam_IPv6DynamicRouterReceivedHopLimit) Format() string
func (*LanConfigParam_IPv6DynamicRouterReceivedHopLimit) LanConfigParameter ¶
func (param *LanConfigParam_IPv6DynamicRouterReceivedHopLimit) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6DynamicRouterReceivedHopLimit) Pack ¶
func (param *LanConfigParam_IPv6DynamicRouterReceivedHopLimit) Pack() []byte
func (*LanConfigParam_IPv6DynamicRouterReceivedHopLimit) Unpack ¶
func (param *LanConfigParam_IPv6DynamicRouterReceivedHopLimit) Unpack(data []byte) error
type LanConfigParam_IPv6Enables ¶
type LanConfigParam_IPv6Enables struct {
EnableMode LanIPv6EnableMode
}
func (*LanConfigParam_IPv6Enables) Format ¶
func (param *LanConfigParam_IPv6Enables) Format() string
func (*LanConfigParam_IPv6Enables) LanConfigParameter ¶
func (param *LanConfigParam_IPv6Enables) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6Enables) Pack ¶
func (param *LanConfigParam_IPv6Enables) Pack() []byte
func (*LanConfigParam_IPv6Enables) Unpack ¶
func (param *LanConfigParam_IPv6Enables) Unpack(data []byte) error
type LanConfigParam_IPv6FlowLabel ¶
type LanConfigParam_IPv6FlowLabel struct {
// Flow Label, 20-bits, right justified, MS Byte first. Default = 0.
//
// Three bytes.
//
// If this configuration parameter is not supported, the Flow Label shall be set to 0 per [RFC2460].
// Bits [23:20] = reserved - set to 0b.
// see: https://datatracker.ietf.org/doc/html/rfc2460#page-25
FlowLabel uint32
}
func (*LanConfigParam_IPv6FlowLabel) Format ¶
func (param *LanConfigParam_IPv6FlowLabel) Format() string
func (*LanConfigParam_IPv6FlowLabel) LanConfigParameter ¶
func (param *LanConfigParam_IPv6FlowLabel) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6FlowLabel) Pack ¶
func (param *LanConfigParam_IPv6FlowLabel) Pack() []byte
func (*LanConfigParam_IPv6FlowLabel) Unpack ¶
func (param *LanConfigParam_IPv6FlowLabel) Unpack(data []byte) error
type LanConfigParam_IPv6NDSLAACTimingConfig ¶
func (*LanConfigParam_IPv6NDSLAACTimingConfig) Format ¶
func (param *LanConfigParam_IPv6NDSLAACTimingConfig) Format() string
func (*LanConfigParam_IPv6NDSLAACTimingConfig) LanConfigParameter ¶
func (param *LanConfigParam_IPv6NDSLAACTimingConfig) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6NDSLAACTimingConfig) Pack ¶
func (param *LanConfigParam_IPv6NDSLAACTimingConfig) Pack() []byte
func (*LanConfigParam_IPv6NDSLAACTimingConfig) Unpack ¶
func (param *LanConfigParam_IPv6NDSLAACTimingConfig) Unpack(data []byte) error
type LanConfigParam_IPv6NDSLAACTimingConfigSupport ¶
type LanConfigParam_IPv6NDSLAACTimingConfigSupport struct {
Mode LanIPv6NDSLAACTimingConfigMode
}
func (*LanConfigParam_IPv6NDSLAACTimingConfigSupport) Format ¶
func (param *LanConfigParam_IPv6NDSLAACTimingConfigSupport) Format() string
func (*LanConfigParam_IPv6NDSLAACTimingConfigSupport) LanConfigParameter ¶
func (param *LanConfigParam_IPv6NDSLAACTimingConfigSupport) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6NDSLAACTimingConfigSupport) Pack ¶
func (param *LanConfigParam_IPv6NDSLAACTimingConfigSupport) Pack() []byte
func (*LanConfigParam_IPv6NDSLAACTimingConfigSupport) Unpack ¶
func (param *LanConfigParam_IPv6NDSLAACTimingConfigSupport) Unpack(data []byte) error
type LanConfigParam_IPv6RouterAddressConfigControl ¶
type LanConfigParam_IPv6RouterAddressConfigControl struct {
// enable dynamic router address configuration via router advertisement messages.
EnableDynamic bool
// enable static router address
EnableStatic bool
}
func (*LanConfigParam_IPv6RouterAddressConfigControl) Format ¶
func (param *LanConfigParam_IPv6RouterAddressConfigControl) Format() string
func (*LanConfigParam_IPv6RouterAddressConfigControl) LanConfigParameter ¶
func (param *LanConfigParam_IPv6RouterAddressConfigControl) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6RouterAddressConfigControl) Pack ¶
func (param *LanConfigParam_IPv6RouterAddressConfigControl) Pack() []byte
func (*LanConfigParam_IPv6RouterAddressConfigControl) Unpack ¶
func (param *LanConfigParam_IPv6RouterAddressConfigControl) Unpack(data []byte) error
type LanConfigParam_IPv6StaticAddress ¶
type LanConfigParam_IPv6StaticAddress struct {
SetSelector uint8
// Address Enabled
// - [7]- enable=1/disable=0
Enabled bool
// Address Source
// [3:0]- source/type
// - 0h = Static
// - All other = reserved
Source LanIPv6StaticAddressSource
IPv6 net.IP
PrefixLength uint8
Status LanIPv6AddressStatus
}
func (*LanConfigParam_IPv6StaticAddress) Format ¶
func (param *LanConfigParam_IPv6StaticAddress) Format() string
func (*LanConfigParam_IPv6StaticAddress) LanConfigParameter ¶
func (param *LanConfigParam_IPv6StaticAddress) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6StaticAddress) Pack ¶
func (param *LanConfigParam_IPv6StaticAddress) Pack() []byte
func (*LanConfigParam_IPv6StaticAddress) Unpack ¶
func (param *LanConfigParam_IPv6StaticAddress) Unpack(data []byte) error
type LanConfigParam_IPv6StaticHopLimit ¶
type LanConfigParam_IPv6StaticHopLimit struct {
HopLimit uint8
}
func (*LanConfigParam_IPv6StaticHopLimit) Format ¶
func (param *LanConfigParam_IPv6StaticHopLimit) Format() string
func (*LanConfigParam_IPv6StaticHopLimit) LanConfigParameter ¶
func (param *LanConfigParam_IPv6StaticHopLimit) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6StaticHopLimit) Pack ¶
func (param *LanConfigParam_IPv6StaticHopLimit) Pack() []byte
func (*LanConfigParam_IPv6StaticHopLimit) Unpack ¶
func (param *LanConfigParam_IPv6StaticHopLimit) Unpack(data []byte) error
type LanConfigParam_IPv6StaticRouter1IP ¶
func (*LanConfigParam_IPv6StaticRouter1IP) Format ¶
func (param *LanConfigParam_IPv6StaticRouter1IP) Format() string
func (*LanConfigParam_IPv6StaticRouter1IP) LanConfigParameter ¶
func (param *LanConfigParam_IPv6StaticRouter1IP) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6StaticRouter1IP) Pack ¶
func (param *LanConfigParam_IPv6StaticRouter1IP) Pack() []byte
func (*LanConfigParam_IPv6StaticRouter1IP) Unpack ¶
func (param *LanConfigParam_IPv6StaticRouter1IP) Unpack(data []byte) error
type LanConfigParam_IPv6StaticRouter1MAC ¶
type LanConfigParam_IPv6StaticRouter1MAC struct {
MAC net.HardwareAddr
}
func (*LanConfigParam_IPv6StaticRouter1MAC) Format ¶
func (param *LanConfigParam_IPv6StaticRouter1MAC) Format() string
func (*LanConfigParam_IPv6StaticRouter1MAC) LanConfigParameter ¶
func (param *LanConfigParam_IPv6StaticRouter1MAC) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6StaticRouter1MAC) Pack ¶
func (param *LanConfigParam_IPv6StaticRouter1MAC) Pack() []byte
func (*LanConfigParam_IPv6StaticRouter1MAC) Unpack ¶
func (param *LanConfigParam_IPv6StaticRouter1MAC) Unpack(data []byte) error
type LanConfigParam_IPv6StaticRouter1PrefixLength ¶
type LanConfigParam_IPv6StaticRouter1PrefixLength struct {
PrefixLength uint8
}
func (*LanConfigParam_IPv6StaticRouter1PrefixLength) Format ¶
func (param *LanConfigParam_IPv6StaticRouter1PrefixLength) Format() string
func (*LanConfigParam_IPv6StaticRouter1PrefixLength) LanConfigParameter ¶
func (param *LanConfigParam_IPv6StaticRouter1PrefixLength) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6StaticRouter1PrefixLength) Pack ¶
func (param *LanConfigParam_IPv6StaticRouter1PrefixLength) Pack() []byte
func (*LanConfigParam_IPv6StaticRouter1PrefixLength) Unpack ¶
func (param *LanConfigParam_IPv6StaticRouter1PrefixLength) Unpack(data []byte) error
type LanConfigParam_IPv6StaticRouter1PrefixValue ¶
type LanConfigParam_IPv6StaticRouter1PrefixValue struct {
PrefixValue [16]byte
}
func (*LanConfigParam_IPv6StaticRouter1PrefixValue) Format ¶
func (param *LanConfigParam_IPv6StaticRouter1PrefixValue) Format() string
func (*LanConfigParam_IPv6StaticRouter1PrefixValue) LanConfigParameter ¶
func (param *LanConfigParam_IPv6StaticRouter1PrefixValue) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6StaticRouter1PrefixValue) Pack ¶
func (param *LanConfigParam_IPv6StaticRouter1PrefixValue) Pack() []byte
func (*LanConfigParam_IPv6StaticRouter1PrefixValue) Unpack ¶
func (param *LanConfigParam_IPv6StaticRouter1PrefixValue) Unpack(data []byte) error
type LanConfigParam_IPv6StaticRouter2IP ¶
func (*LanConfigParam_IPv6StaticRouter2IP) Format ¶
func (param *LanConfigParam_IPv6StaticRouter2IP) Format() string
func (*LanConfigParam_IPv6StaticRouter2IP) LanConfigParameter ¶
func (param *LanConfigParam_IPv6StaticRouter2IP) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6StaticRouter2IP) Pack ¶
func (param *LanConfigParam_IPv6StaticRouter2IP) Pack() []byte
func (*LanConfigParam_IPv6StaticRouter2IP) Unpack ¶
func (param *LanConfigParam_IPv6StaticRouter2IP) Unpack(data []byte) error
type LanConfigParam_IPv6StaticRouter2MAC ¶
type LanConfigParam_IPv6StaticRouter2MAC struct {
MAC net.HardwareAddr
}
func (*LanConfigParam_IPv6StaticRouter2MAC) Format ¶
func (param *LanConfigParam_IPv6StaticRouter2MAC) Format() string
func (*LanConfigParam_IPv6StaticRouter2MAC) LanConfigParameter ¶
func (param *LanConfigParam_IPv6StaticRouter2MAC) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6StaticRouter2MAC) Pack ¶
func (param *LanConfigParam_IPv6StaticRouter2MAC) Pack() []byte
func (*LanConfigParam_IPv6StaticRouter2MAC) Unpack ¶
func (param *LanConfigParam_IPv6StaticRouter2MAC) Unpack(data []byte) error
type LanConfigParam_IPv6StaticRouter2PrefixLength ¶
type LanConfigParam_IPv6StaticRouter2PrefixLength struct {
PrefixLength uint8
}
func (*LanConfigParam_IPv6StaticRouter2PrefixLength) Format ¶
func (param *LanConfigParam_IPv6StaticRouter2PrefixLength) Format() string
func (*LanConfigParam_IPv6StaticRouter2PrefixLength) LanConfigParameter ¶
func (param *LanConfigParam_IPv6StaticRouter2PrefixLength) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6StaticRouter2PrefixLength) Pack ¶
func (param *LanConfigParam_IPv6StaticRouter2PrefixLength) Pack() []byte
func (*LanConfigParam_IPv6StaticRouter2PrefixLength) Unpack ¶
func (param *LanConfigParam_IPv6StaticRouter2PrefixLength) Unpack(data []byte) error
type LanConfigParam_IPv6StaticRouter2PrefixValue ¶
type LanConfigParam_IPv6StaticRouter2PrefixValue struct {
PrefixValue [16]byte
}
func (*LanConfigParam_IPv6StaticRouter2PrefixValue) Format ¶
func (param *LanConfigParam_IPv6StaticRouter2PrefixValue) Format() string
func (*LanConfigParam_IPv6StaticRouter2PrefixValue) LanConfigParameter ¶
func (param *LanConfigParam_IPv6StaticRouter2PrefixValue) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6StaticRouter2PrefixValue) Pack ¶
func (param *LanConfigParam_IPv6StaticRouter2PrefixValue) Pack() []byte
func (*LanConfigParam_IPv6StaticRouter2PrefixValue) Unpack ¶
func (param *LanConfigParam_IPv6StaticRouter2PrefixValue) Unpack(data []byte) error
type LanConfigParam_IPv6StaticTrafficClass ¶
type LanConfigParam_IPv6StaticTrafficClass struct {
TrafficClass uint8
}
func (*LanConfigParam_IPv6StaticTrafficClass) Format ¶
func (param *LanConfigParam_IPv6StaticTrafficClass) Format() string
func (*LanConfigParam_IPv6StaticTrafficClass) LanConfigParameter ¶
func (param *LanConfigParam_IPv6StaticTrafficClass) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6StaticTrafficClass) Pack ¶
func (param *LanConfigParam_IPv6StaticTrafficClass) Pack() []byte
func (*LanConfigParam_IPv6StaticTrafficClass) Unpack ¶
func (param *LanConfigParam_IPv6StaticTrafficClass) Unpack(data []byte) error
type LanConfigParam_IPv6Status ¶
type LanConfigParam_IPv6Status struct {
// Maximum number of static IPv6 addresses for establishing connections to the BMC.
// Note: in some implementations this may exceed the number of simultaneous sessions supported on
// the channel. 0 indicates that static address configuration is not available.
StaticAddressMax uint8
// Maximum number of Dynamic (SLAAC/ DHCPv6) IPv6 addresses that can be obtained for
// establishing connections to the BMC.
// Same caveat as StaticAddressMax: may exceed simultaneous sessions on the channel.
// 0 = Dynamic addressing is not supported by the BMC.
DynamicAddressMax uint8
// data 3: -
// - [7:2] - reserved
// - [1] - 1b = SLAAC addressing is supported by the BMC
// - [0] - 1b = DHCPv6 addressing is supported by the BMC (optional)
SupportSLAACAddressing bool
SupportDHCPv6Addressing bool
}
func (*LanConfigParam_IPv6Status) Format ¶
func (param *LanConfigParam_IPv6Status) Format() string
func (*LanConfigParam_IPv6Status) LanConfigParameter ¶
func (param *LanConfigParam_IPv6Status) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6Status) Pack ¶
func (param *LanConfigParam_IPv6Status) Pack() []byte
func (*LanConfigParam_IPv6Status) Unpack ¶
func (param *LanConfigParam_IPv6Status) Unpack(data []byte) error
type LanConfigParam_IPv6Support ¶
type LanConfigParam_IPv6Support struct {
// Implementation supports IPv6 Destination Addresses for LAN Alerting.
SupportIPv6AlertDestination bool
// Implementation can be configured to use both IPv4 and IPv6 addresses simultaneously
CanUseBothIPv4AndIPv6 bool
// Implementation can be configured to use IPv6 addresses only.
CanUseIPv6Only bool
}
func (*LanConfigParam_IPv6Support) Format ¶
func (param *LanConfigParam_IPv6Support) Format() string
func (*LanConfigParam_IPv6Support) LanConfigParameter ¶
func (param *LanConfigParam_IPv6Support) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_IPv6Support) Pack ¶
func (param *LanConfigParam_IPv6Support) Pack() []byte
func (*LanConfigParam_IPv6Support) Unpack ¶
func (param *LanConfigParam_IPv6Support) Unpack(data []byte) error
type LanConfigParam_MAC ¶
type LanConfigParam_MAC struct {
MAC net.HardwareAddr
}
func (*LanConfigParam_MAC) Format ¶
func (param *LanConfigParam_MAC) Format() string
func (*LanConfigParam_MAC) LanConfigParameter ¶
func (param *LanConfigParam_MAC) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_MAC) Pack ¶
func (param *LanConfigParam_MAC) Pack() []byte
func (*LanConfigParam_MAC) Unpack ¶
func (param *LanConfigParam_MAC) Unpack(data []byte) error
type LanConfigParam_PrimaryRMCPPort ¶
type LanConfigParam_PrimaryRMCPPort struct {
Port uint16
}
func (*LanConfigParam_PrimaryRMCPPort) Format ¶
func (param *LanConfigParam_PrimaryRMCPPort) Format() string
func (*LanConfigParam_PrimaryRMCPPort) LanConfigParameter ¶
func (param *LanConfigParam_PrimaryRMCPPort) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_PrimaryRMCPPort) Pack ¶
func (param *LanConfigParam_PrimaryRMCPPort) Pack() []byte
func (*LanConfigParam_PrimaryRMCPPort) Unpack ¶
func (param *LanConfigParam_PrimaryRMCPPort) Unpack(data []byte) error
type LanConfigParam_SecondaryRMCPPort ¶
type LanConfigParam_SecondaryRMCPPort struct {
Port uint16
}
func (*LanConfigParam_SecondaryRMCPPort) Format ¶
func (param *LanConfigParam_SecondaryRMCPPort) Format() string
func (*LanConfigParam_SecondaryRMCPPort) LanConfigParameter ¶
func (param *LanConfigParam_SecondaryRMCPPort) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_SecondaryRMCPPort) Pack ¶
func (param *LanConfigParam_SecondaryRMCPPort) Pack() []byte
func (*LanConfigParam_SecondaryRMCPPort) Unpack ¶
func (param *LanConfigParam_SecondaryRMCPPort) Unpack(data []byte) error
type LanConfigParam_SetInProgress ¶
type LanConfigParam_SetInProgress struct {
Value SetInProgressState
}
func (*LanConfigParam_SetInProgress) Format ¶
func (param *LanConfigParam_SetInProgress) Format() string
func (*LanConfigParam_SetInProgress) LanConfigParameter ¶
func (param *LanConfigParam_SetInProgress) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_SetInProgress) Pack ¶
func (param *LanConfigParam_SetInProgress) Pack() []byte
func (*LanConfigParam_SetInProgress) Unpack ¶
func (param *LanConfigParam_SetInProgress) Unpack(data []byte) error
type LanConfigParam_SubnetMask ¶
func (*LanConfigParam_SubnetMask) Format ¶
func (param *LanConfigParam_SubnetMask) Format() string
func (*LanConfigParam_SubnetMask) LanConfigParameter ¶
func (param *LanConfigParam_SubnetMask) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_SubnetMask) Pack ¶
func (param *LanConfigParam_SubnetMask) Pack() []byte
func (*LanConfigParam_SubnetMask) Unpack ¶
func (param *LanConfigParam_SubnetMask) Unpack(data []byte) error
type LanConfigParam_VLANID ¶
func (*LanConfigParam_VLANID) Format ¶
func (param *LanConfigParam_VLANID) Format() string
func (*LanConfigParam_VLANID) LanConfigParameter ¶
func (param *LanConfigParam_VLANID) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_VLANID) Pack ¶
func (param *LanConfigParam_VLANID) Pack() []byte
func (*LanConfigParam_VLANID) Unpack ¶
func (param *LanConfigParam_VLANID) Unpack(data []byte) error
type LanConfigParam_VLANPriority ¶
type LanConfigParam_VLANPriority struct {
Priority uint8
}
func (*LanConfigParam_VLANPriority) Format ¶
func (param *LanConfigParam_VLANPriority) Format() string
func (*LanConfigParam_VLANPriority) LanConfigParameter ¶
func (param *LanConfigParam_VLANPriority) LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*LanConfigParam_VLANPriority) Pack ¶
func (param *LanConfigParam_VLANPriority) Pack() []byte
func (*LanConfigParam_VLANPriority) Unpack ¶
func (param *LanConfigParam_VLANPriority) Unpack(data []byte) error
type LanConfigParameter ¶
type LanConfigParameter interface {
LanConfigParameter() (paramSelector LanConfigParamSelector, setSelector uint8, blockSelector uint8)
Parameter
}
type LanConfigParams ¶
type LanConfigParams struct {
SetInProgress *LanConfigParam_SetInProgress // #0, Read Only
AuthTypeSupport *LanConfigParam_AuthTypeSupport // #1
AuthTypeEnables *LanConfigParam_AuthTypeEnables // #2
IP *LanConfigParam_IP // #3
IPSource *LanConfigParam_IPSource // #4
MAC *LanConfigParam_MAC // #5, can be Read Only. An implementation can either allow this parameter to be settable, or it can be implemented as Read Only.
SubnetMask *LanConfigParam_SubnetMask // #6
IPv4HeaderParams *LanConfigParam_IPv4HeaderParams // #7
PrimaryRMCPPort *LanConfigParam_PrimaryRMCPPort // #8
SecondaryRMCPPort *LanConfigParam_SecondaryRMCPPort // #9
ARPControl *LanConfigParam_ARPControl // #10
GratuitousARPInterval *LanConfigParam_GratuitousARPInterval // #11
DefaultGatewayIP *LanConfigParam_DefaultGatewayIP // #12
DefaultGatewayMAC *LanConfigParam_DefaultGatewayMAC // #13
BackupGatewayIP *LanConfigParam_BackupGatewayIP // #14
BackupGatewayMAC *LanConfigParam_BackupGatewayMAC // #15
CommunityString *LanConfigParam_CommunityString // #16
AlertDestinationsCount *LanConfigParam_AlertDestinationsCount // #17, Read Only
AlertDestinationTypes []*LanConfigParam_AlertDestinationType // #18
AlertDestinationAddresses []*LanConfigParam_AlertDestinationAddress // #19
VLANID *LanConfigParam_VLANID // #20
VLANPriority *LanConfigParam_VLANPriority // #21
CipherSuitesSupport *LanConfigParam_CipherSuitesSupport // #22, Read Only
CipherSuitesID *LanConfigParam_CipherSuitesID // #23, Read Only
CipherSuitesPrivLevel *LanConfigParam_CipherSuitesPrivLevel // #24
AlertDestinationVLANs []*LanConfigParam_AlertDestinationVLAN // #25, can be READ ONLY
BadPasswordThreshold *LanConfigParam_BadPasswordThreshold // #26
IPv6Support *LanConfigParam_IPv6Support // #50, Read Only
IPv6Enables *LanConfigParam_IPv6Enables // #51
IPv6StaticTrafficClass *LanConfigParam_IPv6StaticTrafficClass // #52
IPv6StaticHopLimit *LanConfigParam_IPv6StaticHopLimit // #53
IPv6FlowLabel *LanConfigParam_IPv6FlowLabel // #54
IPv6Status *LanConfigParam_IPv6Status // #55, Read Only
IPv6StaticAddresses []*LanConfigParam_IPv6StaticAddress // #56
IPv6DHCPv6StaticDUIDCount *LanConfigParam_IPv6DHCPv6StaticDUIDCount // #57, Read Only
IPv6DHCPv6StaticDUIDs []*LanConfigParam_IPv6DHCPv6StaticDUID // #58
IPv6DynamicAddresses []*LanConfigParam_IPv6DynamicAddress // #59, Read Only
IPv6DHCPv6DynamicDUIDCount *LanConfigParam_IPv6DHCPv6DynamicDUIDCount // #60, Read Only
IPv6DHCPv6DynamicDUIDs []*LanConfigParam_IPv6DHCPv6DynamicDUID // #61
IPv6DHCPv6TimingConfigSupport *LanConfigParam_IPv6DHCPv6TimingConfigSupport // #62, Read Only
IPv6DHCPv6TimingConfig []*LanConfigParam_IPv6DHCPv6TimingConfig // #63
IPv6RouterAddressConfigControl *LanConfigParam_IPv6RouterAddressConfigControl // #64
IPv6StaticRouter1IP *LanConfigParam_IPv6StaticRouter1IP // #65
IPv6StaticRouter1MAC *LanConfigParam_IPv6StaticRouter1MAC // #66
IPv6StaticRouter1PrefixLength *LanConfigParam_IPv6StaticRouter1PrefixLength // #67
IPv6StaticRouter1PrefixValue *LanConfigParam_IPv6StaticRouter1PrefixValue // #68
IPv6StaticRouter2IP *LanConfigParam_IPv6StaticRouter2IP // #69
IPv6StaticRouter2MAC *LanConfigParam_IPv6StaticRouter2MAC // #70
IPv6StaticRouter2PrefixLength *LanConfigParam_IPv6StaticRouter2PrefixLength // #71
IPv6StaticRouter2PrefixValue *LanConfigParam_IPv6StaticRouter2PrefixValue // #72
IPv6DynamicRouterInfoSets *LanConfigParam_IPv6DynamicRouterInfoSets // #73, Read Only
IPv6DynamicRouterInfoIP []*LanConfigParam_IPv6DynamicRouterInfoIP // #74
IPv6DynamicRouterInfoMAC []*LanConfigParam_IPv6DynamicRouterInfoMAC // #75
IPv6DynamicRouterInfoPrefixLength []*LanConfigParam_IPv6DynamicRouterInfoPrefixLength // #76
IPv6DynamicRouterInfoPrefixValue []*LanConfigParam_IPv6DynamicRouterInfoPrefixValue // #77
IPv6DynamicRouterReceivedHopLimit *LanConfigParam_IPv6DynamicRouterReceivedHopLimit // #78
IPv6NDSLAACTimingConfigSupport *LanConfigParam_IPv6NDSLAACTimingConfigSupport // #79, Read Only
IPv6NDSLAACTimingConfig []*LanConfigParam_IPv6NDSLAACTimingConfig // #80
}
func (*LanConfigParams) Format ¶
func (lanConfigParams *LanConfigParams) Format() string
func (*LanConfigParams) ToLanConfig ¶
func (lanConfigParams *LanConfigParams) ToLanConfig() *LanConfig
type LanIPAddressSource ¶
type LanIPAddressSource uint8
see: LanConfigParameter_IPAddressSource (#4)
const ( IPAddressSourceUnspecified LanIPAddressSource = 0x00 IPAddressSourceStatic LanIPAddressSource = 0x01 IPAddressSourceDHCP LanIPAddressSource = 0x02 IPAddressSourceBIOS LanIPAddressSource = 0x03 IPAddressSourceOther LanIPAddressSource = 0x04 )
func (LanIPAddressSource) String ¶
func (i LanIPAddressSource) String() string
type LanIPv6AddressStatus ¶
type LanIPv6AddressStatus uint8
Address Status (Read-only parameter)
- 00h = Active (in-use)
- 01h = Disabled
- 02h = Pending (currently undergoing DAD [duplicate address detection], optional)
- 03h = Failed (duplicate address found, optional)
- 04h = Deprecated (preferred timer has expired, optional)
- 05h = Invalid (validity timer has expired, optional)
- All other = reserved
const ( LanIPv6AddressStatus_Active LanIPv6AddressStatus = 0 LanIPv6AddressStatus_Disabled LanIPv6AddressStatus = 1 LanIPv6AddressStatus_Pending LanIPv6AddressStatus = 2 LanIPv6AddressStatus_Failed LanIPv6AddressStatus = 3 LanIPv6AddressStatus_Deprecated LanIPv6AddressStatus = 4 LanIPv6AddressStatus_Invalid LanIPv6AddressStatus = 5 )
func (LanIPv6AddressStatus) String ¶
func (addressStatus LanIPv6AddressStatus) String() string
type LanIPv6DHCPv6TimingConfigMode ¶
type LanIPv6DHCPv6TimingConfigMode uint8
DHCPv6 Timing Configuration Mode
- 00b = `Not Supported` DHCPv6 timing configuration per IPMI is not supported.
- 01b = `Global` Timing configuration applies across all interfaces (IAs) that use dynamic addressing and have DHCPv6 is enabled.
- 10b = `Per Interface` Timing is configurable for each interface and used when DHCPv6 is enabled for the given interface (IA).
- 11b = reserved
const ( LanIPv6DHCPv6TimingConfigMode_NotSupported LanIPv6DHCPv6TimingConfigMode = 0 LanIPv6DHCPv6TimingConfigMode_Global LanIPv6DHCPv6TimingConfigMode = 1 LanIPv6DHCPv6TimingConfigMode_PerInterface LanIPv6DHCPv6TimingConfigMode = 2 )
func (LanIPv6DHCPv6TimingConfigMode) String ¶
func (mode LanIPv6DHCPv6TimingConfigMode) String() string
type LanIPv6DynamicAddressSource ¶
type LanIPv6DynamicAddressSource uint8
Address source/type
- 0 - Reserved
- 1 - SLAAC (StateLess Address Auto Configuration)
- 2 - DHCPv6 (optional)
- Other - reserved
const ( LanIPv6AddressSource_SLAAC LanIPv6DynamicAddressSource = 1 LanIPv6AddressSource_DHCPv6 LanIPv6DynamicAddressSource = 2 )
func (LanIPv6DynamicAddressSource) String ¶
func (addressSource LanIPv6DynamicAddressSource) String() string
type LanIPv6EnableMode ¶
type LanIPv6EnableMode uint8
const ( // 00h = IPv6 addressing disabled. LanIPv6EnableMode_IPv6Disabled LanIPv6EnableMode = 0 // 01h = Enable IPv6 addressing only. IPv4 addressing is disabled. LanIPv6EnableMode_IPv6Only LanIPv6EnableMode = 1 // 02h = Enable IPv6 and IPv4 addressing simultaneously. LanIPv6EnableMode_IPv4AndIPv6 LanIPv6EnableMode = 2 )
func (LanIPv6EnableMode) String ¶
func (enableMode LanIPv6EnableMode) String() string
type LanIPv6NDSLAACTimingConfigMode ¶
type LanIPv6NDSLAACTimingConfigMode uint8
func (LanIPv6NDSLAACTimingConfigMode) String ¶
func (mode LanIPv6NDSLAACTimingConfigMode) String() string
type LanIPv6StaticAddressSource ¶
type LanIPv6StaticAddressSource uint8
IPv6 Static Address Source
- 0h = Static
- All other = reserved
const (
LanIPv6StaticAddressSource_Static LanIPv6StaticAddressSource = 0
)
func (LanIPv6StaticAddressSource) String ¶
func (addressSource LanIPv6StaticAddressSource) String() string
type LinearizationFunc ¶
type LinearizationFunc uint8
LinearizationFunc is linearization function used in "Sensor Reading Conversion Formula" 线性化函数
const ( LinearizationFunc_Linear LinearizationFunc = 0x00 LinearizationFunc_LN LinearizationFunc = 0x01 LinearizationFunc_LOG10 LinearizationFunc = 0x02 LinearizationFunc_LOG2 LinearizationFunc = 0x03 LinearizationFunc_E LinearizationFunc = 0x04 LinearizationFunc_EXP10 LinearizationFunc = 0x05 LinearizationFunc_EXP2 LinearizationFunc = 0x06 LinearizationFunc_1X LinearizationFunc = 0x07 LinearizationFunc_SQR LinearizationFunc = 0x08 LinearizationFunc_CUBE LinearizationFunc = 0x09 LinearizationFunc_SQRT LinearizationFunc = 0x0a LinearizationFunc_CBRT LinearizationFunc = 0x0b // 70h = non-linear. // 71h-7Fh = non-linear OEM LinearizationFunc_NonLinear LinearizationFunc = 0x70 )
func (LinearizationFunc) Apply ¶
func (l LinearizationFunc) Apply(x float64) float64
Apply applies linearization func (itself) to the input value and returns the result.
func (LinearizationFunc) IsNonLinear ¶
func (l LinearizationFunc) IsNonLinear() bool
func (LinearizationFunc) String ¶
func (l LinearizationFunc) String() string
type MCLocatorPackOpts ¶
type MCLocatorPackOpts struct {
RecordID uint16
DeviceSlaveAddress uint8 // default 0x20 (BMC system software)
DeviceSupport uint8 // default 0x08 (FRU Inventory Device)
EntityID uint8 // default 0x07 (system board)
EntityInstance uint8
Name string // optional MC ID string (max 16 bytes)
}
MCLocatorPackOpts configures PackMCLocator. The defaults match a single local BMC with FRU inventory (§43.9 Type 12h), suitable for ipmitool fru list without seeding sensor SDR records.
type ManagementAccessSubRecordType ¶
type ManagementAccessSubRecordType uint8
func (ManagementAccessSubRecordType) String ¶
func (t ManagementAccessSubRecordType) String() string
type Mask ¶
type Mask struct {
Threshold Mask_Thresholds
Discrete Mask_Discrete
}
For non-threshold-based sensors, Mask holds:
- Assertion Event Mask
- Deassertion Event Mask
- Discrete Reading Mask
For threshold-based sensors, Mask holds:
- Lower Threshold Reading Mask
- Upper Threshold Reading Mask
- Settable Threshold Mask, Readable Threshold Mask
Used in Full and Compact SDR
func (*Mask) ParseAssertLower ¶
ParseAssertLower fill:
- Assertion Event Mask
- Lower Threshold Reading Mask
- Threshold Assertion Event Mask
func (*Mask) ParseDeassertUpper ¶
func (*Mask) ParseReading ¶
func (*Mask) ReadableThresholds ¶
func (mask *Mask) ReadableThresholds() SensorThresholdTypes
ReadableThresholds returns all readable thresholds for the sensor.
func (*Mask) SettableThresholds ¶
func (mask *Mask) SettableThresholds() SensorThresholdTypes
func (*Mask) StatusReturnedThresholds ¶
func (mask *Mask) StatusReturnedThresholds() SensorThresholdTypes
StatusReturnedThresholds returns all supported thresholds comparison status via the Get Sensor Reading command.
func (*Mask) SupportedThresholdEvents ¶
func (mask *Mask) SupportedThresholdEvents() SensorEvents
type Mask_Discrete ¶
type Mask_Discrete struct {
// Assertion Event Mask for non-threshold based sensors, true means assertion event can be generated for this state
Assert Mask_DiscreteEvent
// Deassertion Event Mask for non-threshold based sensors, true means deassertion event can be generated for this state
Deassert Mask_DiscreteEvent
// Reading Mask for non-threshold based sensors, true means discrete state can be returned by this sensor
Reading Mask_DiscreteEvent
}
type Mask_DiscreteEvent ¶
type Mask_DiscreteEvent struct {
State_0 bool
State_1 bool
State_2 bool
State_3 bool
State_4 bool
State_5 bool
State_6 bool
State_7 bool
State_8 bool
State_9 bool
State_10 bool
State_11 bool
State_12 bool
State_13 bool
State_14 bool
}
func (Mask_DiscreteEvent) TrueEvents ¶
func (mask Mask_DiscreteEvent) TrueEvents() []uint8
type Mask_Threshold ¶
type Mask_Threshold struct {
StatusReturned bool // Indicates whether this threshold comparison status is returned via the Get Sensor Reading command.
Settable bool
Readable bool
High_Assert bool
Low_Assert bool
High_Deassert bool
Low_Deassert bool
}
Mask_Threshold holds masks for a specific threshold type.
type Mask_Thresholds ¶
type Mask_Thresholds struct {
LNR Mask_Threshold
LCR Mask_Threshold
LNC Mask_Threshold
UNR Mask_Threshold
UCR Mask_Threshold
UNC Mask_Threshold
}
Mask_Thresholds holds masks for all threshold types.
func (*Mask_Thresholds) IsThresholdReadable ¶
func (mask *Mask_Thresholds) IsThresholdReadable(thresholdType SensorThresholdType) bool
type MessageClass ¶
type MessageClass uint8
func (MessageClass) NormalACKFlag ¶
func (mc MessageClass) NormalACKFlag() bool
type MessageType ¶
type MessageType uint8
const ( MessageTypeUndefined MessageType = 0x00 MessageTypePing MessageType = 0x80 MessageTypeRMCPACK MessageType = (0x80 | 6) MessageTypeASF MessageType = (0x00 | 6) MessageTypeIPMI MessageType = (0x00 | 7) MessageTypeOEM MessageType = (0x00 | 8) )
type NetFn ¶
type NetFn uint8
NetFn is Network Function
const ( NetFnChassisRequest NetFn = 0x00 NetFnChassisResponse NetFn = 0x01 NetFnBridgeRequest NetFn = 0x02 NetFnBridgeResponse NetFn = 0x03 NetFnSensorEventRequest NetFn = 0x04 NetFnSensorEventResponse NetFn = 0x05 NetFnAppRequest NetFn = 0x06 NetFnAppResponse NetFn = 0x07 NetFnFirmwareRequest NetFn = 0x08 NetFnFirmwareResponse NetFn = 0x09 NetFnStorageRequest NetFn = 0x0a NetFnStorageResponse NetFn = 0x0b NetFnTransportRequest NetFn = 0x0c NetFnTransportResponse NetFn = 0x0d NetFnGroupExtensionRequest NetFn = 0x2c NetFnGroupExtensionResponse NetFn = 0x2d NetFnOEMGroupRequest NetFn = 0x2e NetFnOEMGroupResponse NetFn = 0x2f NetFnOEMSupermicroRequest NetFn = 0x30 )
Network Function Codes, section 5.1 Table 5 Even NetFn values are used for requests to the BMC, and odd NetFn values are returned in responses from the BMC.
six-bit field identifying the function, so total 64 NetFn (32 NetFn pairs)
type PEFAlertPolicy ¶
type PEFAlertPolicy struct {
// [7:4] - policy number. 1 based. 0000b = reserved.
PolicyNumber uint8
// PolicyState (enabled or disabled)
//
// [3] - 0b = this entry is disabled. Skip to next entry in policy, if any.
// 1b = this entry is enabled.
PolicyState bool
// [2:0] - policy
PolicyAction PEFAlertPolicyAction
// [7:4] = ChannelNumber Number.
ChannelNumber uint8
// [3:0] = Destination selector.
Destination uint8
// [7] - Event-specific Alert String
// 1b = Alert String look-up is event specific. The following Alert String Set / Selector sub-
// field is interpreted as an Alert String Set Number that is used in conjunction with
// the Event Filter Number to lookup the Alert String from the PEF Configuration Parameters.
// 0b = Alert String is not event specific. The following Alert String Set / Selector sub-field
// is interpreted as an Alert String Selector that provides a direct pointer to the
// desired Alert String from the PEF Configuration Parameters.
IsEventSpecific bool
// [6:0] - Alert String Set / Selector.
// This value identifies one or more Alert Strings in the Alert String table.
// - When used as an Alert String Set Number (IsEventSpecific = true), it is used in conjunction with the Event Filter Number to uniquely identify an Alert String.
// - When used as an Alert String Selector (IsEventSpecific = false), it directly selects an Alert String from the PEF Configuration Parameters.
AlertStringKey uint8
}
17.11 Alert Policy Table
func (*PEFAlertPolicy) Format ¶
func (entry *PEFAlertPolicy) Format() string
func (*PEFAlertPolicy) Pack ¶
func (entry *PEFAlertPolicy) Pack() []byte
func (*PEFAlertPolicy) Unpack ¶
func (entry *PEFAlertPolicy) Unpack(data []byte) error
type PEFAlertPolicyAction ¶
type PEFAlertPolicyAction uint8
const ( // always send alert to this destination. PEFAlertPolicyAction_Always PEFAlertPolicyAction = 0 // if alert to previous destination was successful, do not send alert to this destination. // Proceed to next entry in this policy set. PEFAlertPolicyAction_ProceedNext PEFAlertPolicyAction = 1 // if alert to previous destination was successful, do not send alert to this destination. // Do not process any more entries in this policy set. PEFAlertPolicyAction_NoProceed PEFAlertPolicyAction = 2 // if alert to previous destination was successful, do not send alert to this destination. // Proceed to next entry in this policy set that is to a different channel. PEFAlertPolicyAction_ProceedNextDifferentChannel PEFAlertPolicyAction = 3 // if alert to previous destination was successful, do not send alert to this destination. // Proceed to next entry in this policy set that is to a different destination type. PEFAlertPolicyAction_ProceedNextDifferentDestination PEFAlertPolicyAction = 4 )
func (PEFAlertPolicyAction) ShortString ¶
func (action PEFAlertPolicyAction) ShortString() string
func (PEFAlertPolicyAction) String ¶
func (action PEFAlertPolicyAction) String() string
type PEFConfigParamSelector ¶
type PEFConfigParamSelector uint8
const ( PEFConfigParamSelector_SetInProgress PEFConfigParamSelector = 0x00 PEFConfigParamSelector_Control PEFConfigParamSelector = 0x01 PEFConfigParamSelector_ActionGlobalControl PEFConfigParamSelector = 0x02 PEFConfigParamSelector_StartupDelay PEFConfigParamSelector = 0x03 PEFConfigParamSelector_AlertStartDelay PEFConfigParamSelector = 0x04 PEFConfigParamSelector_EventFiltersCount PEFConfigParamSelector = 0x05 PEFConfigParamSelector_EventFilter PEFConfigParamSelector = 0x06 PEFConfigParamSelector_EventFilterData1 PEFConfigParamSelector = 0x07 PEFConfigParamSelector_AlertPoliciesCount PEFConfigParamSelector = 0x08 PEFConfigParamSelector_AlertPolicy PEFConfigParamSelector = 0x09 PEFConfigParamSelector_SystemGUID PEFConfigParamSelector = 0x0a PEFConfigParamSelector_AlertStringsCount PEFConfigParamSelector = 0x0b PEFConfigParamSelector_AlertStringKey PEFConfigParamSelector = 0x0c PEFConfigParamSelector_AlertString PEFConfigParamSelector = 0x0d PEFConfigParamSelector_GroupControlsCount PEFConfigParamSelector = 0x0e PEFConfigParamSelector_GroupControl PEFConfigParamSelector = 0x0f )
func (PEFConfigParamSelector) String ¶
func (p PEFConfigParamSelector) String() string
type PEFConfigParam_ActionGlobalControl ¶
type PEFConfigParam_ActionGlobalControl struct {
DiagnosticInterruptEnabled bool
OEMActionEnabled bool
PowerCycleActionEnabled bool
ResetActionEnabled bool
PowerDownActionEnabled bool
AlertActionEnabled bool
}
func (*PEFConfigParam_ActionGlobalControl) Format ¶
func (param *PEFConfigParam_ActionGlobalControl) Format() string
func (*PEFConfigParam_ActionGlobalControl) PEFConfigParameter ¶
func (param *PEFConfigParam_ActionGlobalControl) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*PEFConfigParam_ActionGlobalControl) Pack ¶
func (param *PEFConfigParam_ActionGlobalControl) Pack() []byte
func (*PEFConfigParam_ActionGlobalControl) Unpack ¶
func (param *PEFConfigParam_ActionGlobalControl) Unpack(data []byte) error
type PEFConfigParam_AlertPoliciesCount ¶
type PEFConfigParam_AlertPoliciesCount struct {
Value uint8
}
Number of alert policy entries supported. 1-based. This parameter does not need to be supported if Alerting is not supported.
func (*PEFConfigParam_AlertPoliciesCount) Format ¶
func (param *PEFConfigParam_AlertPoliciesCount) Format() string
func (*PEFConfigParam_AlertPoliciesCount) PEFConfigParameter ¶
func (param *PEFConfigParam_AlertPoliciesCount) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*PEFConfigParam_AlertPoliciesCount) Pack ¶
func (param *PEFConfigParam_AlertPoliciesCount) Pack() []byte
func (*PEFConfigParam_AlertPoliciesCount) Unpack ¶
func (param *PEFConfigParam_AlertPoliciesCount) Unpack(data []byte) error
type PEFConfigParam_AlertPolicy ¶
type PEFConfigParam_AlertPolicy struct {
// Set Selector = entry number
// - [7] - reserved
// - [6:0] - alert policy entry number. 1-based.
SetSelector uint8
Policy *PEFAlertPolicy
}
func (*PEFConfigParam_AlertPolicy) Format ¶
func (param *PEFConfigParam_AlertPolicy) Format() string
func (*PEFConfigParam_AlertPolicy) PEFConfigParameter ¶
func (param *PEFConfigParam_AlertPolicy) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*PEFConfigParam_AlertPolicy) Pack ¶
func (param *PEFConfigParam_AlertPolicy) Pack() []byte
func (*PEFConfigParam_AlertPolicy) Unpack ¶
func (param *PEFConfigParam_AlertPolicy) Unpack(data []byte) error
type PEFConfigParam_AlertStartupDelay ¶
type PEFConfigParam_AlertStartupDelay struct {
DelaySec uint8
}
func (*PEFConfigParam_AlertStartupDelay) Format ¶
func (param *PEFConfigParam_AlertStartupDelay) Format() string
func (*PEFConfigParam_AlertStartupDelay) PEFConfigParameter ¶
func (param *PEFConfigParam_AlertStartupDelay) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*PEFConfigParam_AlertStartupDelay) Pack ¶
func (param *PEFConfigParam_AlertStartupDelay) Pack() []byte
func (*PEFConfigParam_AlertStartupDelay) Unpack ¶
func (param *PEFConfigParam_AlertStartupDelay) Unpack(data []byte) error
type PEFConfigParam_AlertString ¶
type PEFConfigParam_AlertString struct {
// Set Selector = string selector.
// - 0 = selects volatile string
// - 01h-7Fh = non-volatile string selectors
SetSelector uint8
// Block Selector = string block number to set, 1 based. Blocks are 16 bytes.
BlockSelector uint8
// String data. Null terminated 8-bit ASCII string. 16-bytes max. per block.
StringData []byte
}
func (*PEFConfigParam_AlertString) Format ¶
func (param *PEFConfigParam_AlertString) Format() string
func (*PEFConfigParam_AlertString) PEFConfigParameter ¶
func (param *PEFConfigParam_AlertString) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*PEFConfigParam_AlertString) Pack ¶
func (param *PEFConfigParam_AlertString) Pack() []byte
func (*PEFConfigParam_AlertString) Unpack ¶
func (param *PEFConfigParam_AlertString) Unpack(data []byte) error
type PEFConfigParam_AlertStringKey ¶
type PEFConfigParam_AlertStringKey struct {
// Set Selector = Alert string selector.
// - 0 = selects volatile string parameters
// - 01h-7Fh = non-volatile string selectors
SetSelector uint8
// [6:0] - Filter number. 1-based. 00h = unspecified.
FilterNumber uint8
// [6:0] - Set number for string. 1-based. 00h = unspecified.
AlertStringSet uint8
}
Sets the keys used to look up Alert String data in PEF. This parameter does not need to be supported if Alerting is not supported.
Its purpose is to get the AlertStringSelector from combination of the (Event) FilterNumber and AlertStringSet.
func (*PEFConfigParam_AlertStringKey) Format ¶
func (param *PEFConfigParam_AlertStringKey) Format() string
func (*PEFConfigParam_AlertStringKey) PEFConfigParameter ¶
func (param *PEFConfigParam_AlertStringKey) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*PEFConfigParam_AlertStringKey) Pack ¶
func (param *PEFConfigParam_AlertStringKey) Pack() []byte
func (*PEFConfigParam_AlertStringKey) Unpack ¶
func (param *PEFConfigParam_AlertStringKey) Unpack(data []byte) error
type PEFConfigParam_AlertStringsCount ¶
type PEFConfigParam_AlertStringsCount struct {
Value uint8
}
Number of alert strings supported in addition to Alert String 0. 1-based. This parameter does not need to be supported if Alerting is not supported.
func (*PEFConfigParam_AlertStringsCount) Format ¶
func (param *PEFConfigParam_AlertStringsCount) Format() string
func (*PEFConfigParam_AlertStringsCount) PEFConfigParameter ¶
func (param *PEFConfigParam_AlertStringsCount) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*PEFConfigParam_AlertStringsCount) Pack ¶
func (param *PEFConfigParam_AlertStringsCount) Pack() []byte
func (*PEFConfigParam_AlertStringsCount) Unpack ¶
func (param *PEFConfigParam_AlertStringsCount) Unpack(data []byte) error
type PEFConfigParam_Control ¶
type PEFConfigParam_Control struct {
EnablePEFAlertStartupDelay bool
EnablePEFStartupDelay bool
EnableEventMessage bool
EnablePEF bool
}
func (*PEFConfigParam_Control) Format ¶
func (param *PEFConfigParam_Control) Format() string
func (*PEFConfigParam_Control) PEFConfigParameter ¶
func (param *PEFConfigParam_Control) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*PEFConfigParam_Control) Pack ¶
func (param *PEFConfigParam_Control) Pack() []byte
func (*PEFConfigParam_Control) Unpack ¶
func (param *PEFConfigParam_Control) Unpack(data []byte) error
type PEFConfigParam_EventFilter ¶
type PEFConfigParam_EventFilter struct {
// Set Selector = filter number. 1-based. 00h = reserved.
SetSelector uint8
Filter *PEFEventFilter
}
func (*PEFConfigParam_EventFilter) Format ¶
func (param *PEFConfigParam_EventFilter) Format() string
func (*PEFConfigParam_EventFilter) PEFConfigParameter ¶
func (param *PEFConfigParam_EventFilter) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*PEFConfigParam_EventFilter) Pack ¶
func (param *PEFConfigParam_EventFilter) Pack() []byte
func (*PEFConfigParam_EventFilter) Unpack ¶
func (param *PEFConfigParam_EventFilter) Unpack(data []byte) error
type PEFConfigParam_EventFilterData1 ¶
type PEFConfigParam_EventFilterData1 struct {
// Set Selector = filter number
SetSelector uint8
// [7] - 1b = enable filter
// 0b = disable filter
FilterEnabled bool
// [6:5] - 11b = reserved
// 10b = manufacturer pre-configured filter. The filter entry has been
// configured by the system integrator and should not be altered by software.
// Software is allowed to enable or disable the filter, however.
// 01b = reserved
// 00b = software configurable filter. The filter entry is available for
// configuration by system management software.
FilterType PEFEventFilterType
}
This parameter provides an aliased access to the first byte of the event filter data. This is provided to simplify the act of enabling and disabling individual filters by avoiding the need to do a read-modify-write of the entire filter data.
func (*PEFConfigParam_EventFilterData1) Format ¶
func (param *PEFConfigParam_EventFilterData1) Format() string
func (*PEFConfigParam_EventFilterData1) PEFConfigParameter ¶
func (param *PEFConfigParam_EventFilterData1) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*PEFConfigParam_EventFilterData1) Pack ¶
func (param *PEFConfigParam_EventFilterData1) Pack() []byte
func (*PEFConfigParam_EventFilterData1) Unpack ¶
func (param *PEFConfigParam_EventFilterData1) Unpack(data []byte) error
type PEFConfigParam_EventFiltersCount ¶
type PEFConfigParam_EventFiltersCount struct {
Value uint8
}
Number of event filters supported. 1-based. This parameter does not need to be supported if Alerting is not supported.
func (*PEFConfigParam_EventFiltersCount) Format ¶
func (param *PEFConfigParam_EventFiltersCount) Format() string
func (*PEFConfigParam_EventFiltersCount) PEFConfigParameter ¶
func (param *PEFConfigParam_EventFiltersCount) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*PEFConfigParam_EventFiltersCount) Pack ¶
func (param *PEFConfigParam_EventFiltersCount) Pack() []byte
func (*PEFConfigParam_EventFiltersCount) Unpack ¶
func (param *PEFConfigParam_EventFiltersCount) Unpack(data []byte) error
type PEFConfigParam_GroupControl ¶
type PEFConfigParam_GroupControl struct {
// Set Selector (Entry Selector) = group control table entry selector.
SetSelector uint8
ForceControlOperation bool
DelayedControl bool
ChannelNumber uint8
GroupID0 uint8
MemberID0 uint8
DisableMemberID0Check bool
GroupID1 uint8
MemberID1 uint8
DisableMemberID1Check bool
GroupID2 uint8
MemberID2 uint8
DisableMemberID2Check bool
GroupID3 uint8
MemberID3 uint8
DisableMemberID3Check bool
RetryCount uint8
Operation uint8
}
func (*PEFConfigParam_GroupControl) Format ¶
func (param *PEFConfigParam_GroupControl) Format() string
func (*PEFConfigParam_GroupControl) PEFConfigParameter ¶
func (param *PEFConfigParam_GroupControl) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*PEFConfigParam_GroupControl) Pack ¶
func (param *PEFConfigParam_GroupControl) Pack() []byte
func (*PEFConfigParam_GroupControl) Unpack ¶
func (param *PEFConfigParam_GroupControl) Unpack(data []byte) error
type PEFConfigParam_GroupControlsCount ¶
type PEFConfigParam_GroupControlsCount struct {
Value uint8
}
func (*PEFConfigParam_GroupControlsCount) Format ¶
func (param *PEFConfigParam_GroupControlsCount) Format() string
func (*PEFConfigParam_GroupControlsCount) PEFConfigParameter ¶
func (param *PEFConfigParam_GroupControlsCount) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*PEFConfigParam_GroupControlsCount) Pack ¶
func (param *PEFConfigParam_GroupControlsCount) Pack() []byte
func (*PEFConfigParam_GroupControlsCount) Unpack ¶
func (param *PEFConfigParam_GroupControlsCount) Unpack(data []byte) error
type PEFConfigParam_SetInProgress ¶
type PEFConfigParam_SetInProgress struct {
Value SetInProgressState
}
func (*PEFConfigParam_SetInProgress) Format ¶
func (param *PEFConfigParam_SetInProgress) Format() string
func (*PEFConfigParam_SetInProgress) PEFConfigParameter ¶
func (param *PEFConfigParam_SetInProgress) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*PEFConfigParam_SetInProgress) Pack ¶
func (param *PEFConfigParam_SetInProgress) Pack() []byte
func (*PEFConfigParam_SetInProgress) Unpack ¶
func (param *PEFConfigParam_SetInProgress) Unpack(data []byte) error
type PEFConfigParam_StartupDelay ¶
type PEFConfigParam_StartupDelay struct {
DelaySec uint8
}
func (*PEFConfigParam_StartupDelay) Format ¶
func (param *PEFConfigParam_StartupDelay) Format() string
func (*PEFConfigParam_StartupDelay) PEFConfigParameter ¶
func (param *PEFConfigParam_StartupDelay) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*PEFConfigParam_StartupDelay) Pack ¶
func (param *PEFConfigParam_StartupDelay) Pack() []byte
func (*PEFConfigParam_StartupDelay) Unpack ¶
func (param *PEFConfigParam_StartupDelay) Unpack(data []byte) error
type PEFConfigParam_SystemGUID ¶
type PEFConfigParam_SystemGUID struct {
// Used to fill in the GUID field in a PET Trap.
// [7:1] - reserved
// [0]
// 1b = BMC uses following value in PET Trap.
// 0b = BMC ignores following value and uses value returned from Get System GUID command instead.
UseGUID bool
GUID [16]byte
}
func (*PEFConfigParam_SystemGUID) Format ¶
func (param *PEFConfigParam_SystemGUID) Format() string
func (*PEFConfigParam_SystemGUID) PEFConfigParameter ¶
func (param *PEFConfigParam_SystemGUID) PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*PEFConfigParam_SystemGUID) Pack ¶
func (param *PEFConfigParam_SystemGUID) Pack() []byte
func (*PEFConfigParam_SystemGUID) Unpack ¶
func (param *PEFConfigParam_SystemGUID) Unpack(configData []byte) error
type PEFConfigParameter ¶
type PEFConfigParameter interface {
PEFConfigParameter() (paramSelector PEFConfigParamSelector, setSelector uint8, blockSelector uint8)
Parameter
}
type PEFConfigParams ¶
type PEFConfigParams struct {
SetInProgress *PEFConfigParam_SetInProgress
Control *PEFConfigParam_Control
ActionGlobalControl *PEFConfigParam_ActionGlobalControl
StartupDelay *PEFConfigParam_StartupDelay
AlertStartupDelay *PEFConfigParam_AlertStartupDelay
EventFiltersCount *PEFConfigParam_EventFiltersCount
EventFilters []*PEFConfigParam_EventFilter
EventFiltersData1 []*PEFConfigParam_EventFilterData1
AlertPoliciesCount *PEFConfigParam_AlertPoliciesCount
AlertPolicies []*PEFConfigParam_AlertPolicy
SystemGUID *PEFConfigParam_SystemGUID
AlertStringsCount *PEFConfigParam_AlertStringsCount
AlertStringKeys []*PEFConfigParam_AlertStringKey
AlertStrings []*PEFConfigParam_AlertString
GroupControlsCount *PEFConfigParam_GroupControlsCount
GroupControls []*PEFConfigParam_GroupControl
}
func (*PEFConfigParams) Format ¶
func (pefConfigParams *PEFConfigParams) Format() string
type PEFEventFilter ¶
type PEFEventFilter struct {
// Filter Configuration
//
// FilterState (enabled or disabled)
// [4:0] - reserved
//
// [7] - 1b = enable filter
// 0b = disable filter
FilterState bool
// [6:5] - 11b = reserved
// 10b = manufacturer pre-configured filter. The filter entry has been
// configured by the system integrator and should not be altered by software.
// Software is allowed to enable or disable the filter, however.
// 01b = reserved
// 00b = software configurable filter. The filter entry is available for
// configuration by system management software.
FilterType PEFEventFilterType
// 17.6 PEF Actions
// All actions are optional for an implementation, with the exception of Alert
// which is mandatory if alerting is supported for one or more channels.
// The BMC will return 0b for unsupported actions.
// Software can test for which actions are supported by writing 1's to the
// specified fields and reading back the result.
// (Note that reserved bits must be written with 0's)
ActionGroupControlOperation bool
ActionDiagnosticInterrupt bool
ActionOEM bool
ActionPowerCycle bool
ActionReset bool
ActionPowerOff bool
// Either Event filter Action should be enabled or Power action should be present as channel alert is enabled.
ActionAlert bool // Relates with AlertPolicyNumber
// Used to select an alerting policy set from the Alert Policy Table.
// The Alert Policy Table holds different policies that configure the order in which different alert destinations and alerting media are tried.
// [6:4] - group control selector (1-based). Selects entry from group control table (see PEF Group Control Table, §17.8).
GroupControlSelector uint8
// [3:0] - policy number. Value is "don't care" if (ActionAlert=false) Alert is not selected in the Event Filter Action.
AlertPolicyNumber uint8
EventSeverity PEFEventSeverity
GeneratorID GeneratorID
SensorType SensorType
SensorNumber SensorNumber
EventReadingType EventReadingType
EventData1EventOffsetMask uint16
EventData1ANDMask uint8
// Used to indicate whether each bit position's comparison is an exact comparison or not.
EventData1Compare1 uint8
EventData1Compare2 uint8
EventData2ANDMask uint8
EventData2Compare1 uint8
EventData2Compare2 uint8
EventData3ANDMask uint8
EventData3Compare1 uint8
EventData3Compare2 uint8
}
17.7 Event Filter Table
func (*PEFEventFilter) Format ¶
func (entry *PEFEventFilter) Format() string
func (*PEFEventFilter) Pack ¶
func (entry *PEFEventFilter) Pack() []byte
func (*PEFEventFilter) Unpack ¶
func (entry *PEFEventFilter) Unpack(data []byte) error
type PEFEventFilterType ¶
type PEFEventFilterType uint8
PEFEventFilterType:
- manufacturer pre-configured filter. The filter entry has been configured by the system integrator and should not be altered by software. Software is allowed to enable or disable the filter, however.
- software configurable filter. The filter entry is available for configuration by system management software.
const ( PEFEventFilterType_Configurable PEFEventFilterType = 0x00 PEFEventFilterType_PreConfigured PEFEventFilterType = 0x01 )
func (PEFEventFilterType) String ¶
func (filterType PEFEventFilterType) String() string
type PEFEventSeverity ¶
type PEFEventSeverity uint8
const ( PEFEventSeverityUnspecified PEFEventSeverity = 0x00 PEFEventSeverityMonitor PEFEventSeverity = 0x01 PEFEventSeverityInformation PEFEventSeverity = 0x02 PEFEventSeverityOK PEFEventSeverity = 0x04 PEFEventSeverityNonCritical PEFEventSeverity = 0x08 // aka Warning PEFEventSeverityCritical PEFEventSeverity = 0x10 PEFEventSeverityNonRecoverable PEFEventSeverity = 0x20 )
func (PEFEventSeverity) String ¶
func (severity PEFEventSeverity) String() string
type PayloadType ¶
type PayloadType uint8
13.27.3 The Get Channel Payload Support command returns which standard payload type numbers and OEM payload type handles are available on a given channel of a BMC.
const ( PayloadTypeIPMI PayloadType = 0x00 PayloadTypeSOL PayloadType = 0x01 PayloadTypeOEM PayloadType = 0x02 PayloadTypeRmcpOpenSessionRequest PayloadType = 0x10 PayloadTypeRmcpOpenSessionResponse PayloadType = 0x11 PayloadTypeRAKPMessage1 PayloadType = 0x12 PayloadTypeRAKPMessage2 PayloadType = 0x13 PayloadTypeRAKPMessage3 PayloadType = 0x14 PayloadTypeRAKPMessage4 PayloadType = 0x15 PayloadTypeOEM0 PayloadType = 0x20 PayloadTypeOEM1 PayloadType = 0x21 PayloadTypeOEM2 PayloadType = 0x22 PayloadTypeOEM3 PayloadType = 0x23 PayloadTypeOEM4 PayloadType = 0x24 PayloadTypeOEM5 PayloadType = 0x25 PayloadTypeOEM6 PayloadType = 0x26 PayloadTypeOEM7 PayloadType = 0x27 )
func (PayloadType) String ¶
func (pt PayloadType) String() string
type PrivilegeLevel ¶
type PrivilegeLevel uint8
6.8 Channel Privilege Levels
- The `SetChannelAccess` command is used to set the maximum privilege level limit for a channel.
- The `SetSessionPrivilegeLevel` Command is used to request the ability to perform operations at a particular privilege level.
- The `SetSessionPrivilegeLevel` command can only be used to set privilege levels that are less than or equal to the privilege level limit for the entire channel, regardless of the privilege level of the user.
const ( PrivilegeLevelUnspecified PrivilegeLevel = 0x00 PrivilegeLevelCallback PrivilegeLevel = 0x01 PrivilegeLevelUser PrivilegeLevel = 0x02 PrivilegeLevelOperator PrivilegeLevel = 0x03 PrivilegeLevelAdministrator PrivilegeLevel = 0x04 PrivilegeLevelOEM PrivilegeLevel = 0x05 )
func (PrivilegeLevel) Short ¶
func (l PrivilegeLevel) Short() string
func (PrivilegeLevel) String ¶
func (l PrivilegeLevel) String() string
func (PrivilegeLevel) Symbol ¶
func (l PrivilegeLevel) Symbol() string
type ReadingFactors ¶
type ReadingFactors struct {
M int16 // 10 bits used
// in +/- ½ raw counts
Tolerance uint8 // 6 bits used
B int16 // 10 bits used
// Unsigned, 10-bit Basic Sensor Accuracy in 1/100 percent scaled up by unsigned Accuracy exponent.
Accuracy uint16 // 10 bits, unsigned
Accuracy_Exp uint8 // 2 bits, unsigned
// [7:4] - R (result) exponent 4 bits, 2's complement, signed
// [3:0] - B exponent 4 bits, 2's complement, signed
R_Exp int8 // 4 bits, signed, also called K2
B_Exp int8 // 4 bits, signed, also called K1
}
ReadingFactors is used in "Sensor Reading Conversion Formula" Only Full SDR defines reading factors. see: 36.3 Sensor Reading Conversion Formula
func (ReadingFactors) String ¶
func (f ReadingFactors) String() string
type ResponseError ¶
type ResponseError struct {
// contains filtered or unexported fields
}
ResponseError encapsulate the CompletionCode of IPMI Response Msg alongside with error description.
func IsResponseError ¶
func IsResponseError(err error) (respErr *ResponseError, ok bool)
func NewResponseError ¶
func NewResponseError(cc CompletionCode, description string) *ResponseError
NewResponseError creates a ResponseError with the given completion code and description.
func (*ResponseError) CompletionCode ¶
func (e *ResponseError) CompletionCode() CompletionCode
func (*ResponseError) Error ¶
func (e *ResponseError) Error() string
Error implements the error interface
type Rmcp ¶
type Rmcp struct {
// Multi-byte fields in RMCP/ASF fields are specified as being transmitted in "Network Byte Order" - meaning most-significant byte first.
// RMCP and ASF-specified fields are therefore transferred **most-significant byte first**.
RmcpHeader *RmcpHeader
// Multi-byte fields in RMCP/ASF fields are specified as being transmitted in "Network Byte Order"
ASF *ASF
// The IPMI convention is to transfer multi-byte numeric fields least-significant Byte first. Therefore, unless otherwise specified:
// Data in the IPMI Session Header and IPMI Message fields are transmitted **least-significant byte first**.
Session15 *Session15
Session20 *Session20
}
Rmcp holds the data that will be send over UDP
type RmcpAckMessage ¶
type RmcpAckMessage struct {
// Copied from received message
Version uint8
// Copied from received message
SequenceNumber uint8
// [7] - Set to 1 to indicate ACK packet
// [6:0] - Copied from received message.
ACKFlag bool
MessageClass MessageClass // Can be IPMI Messages, ASF, OEM
}
13.2.1 RMCP ACK Messages
type RmcpHeader ¶
type RmcpHeader struct {
// 06h = RMCP Version 1.0
// IPMI-over-LAN uses version 1 of the RMCP protocol and packet format
Version uint8
// RMCP Messages with class=IPMI should be sent with an RMCP Sequence Number of FFh
// to indicate that an RMCP ACK message should not be generated by the message receiver.
SequenceNumber uint8
// This field identifies the format of the messages that follow this header.
// All messages of class ASF (6) conform to the formats defined in this
// specification and can be extended via an OEM IANA.
// Bit 7 RMCP ACK
// 0 - Normal RMCP message
// 1 - RMCP ACK message
ACKFlag bool
// Bit 6:5 Reserved
// Bit 4:0 Message Class
// 0-5 = Reserved
// 6 = ASF
// 7 = IPMI
// 8 = OEM defined
// all other = Reserved
MessageClass MessageClass // Can be IPMI Messages, ASF, OEM
}
RmcpHeader represents RMCP Message Header 13.1.3
func NewRmcpHeader ¶
func NewRmcpHeader() *RmcpHeader
func NewRmcpHeaderASF ¶
func NewRmcpHeaderASF() *RmcpHeader
func (*RmcpHeader) MessageType ¶
func (r *RmcpHeader) MessageType() MessageType
the ACK/Normal Bit and the Message Class combine to identify the type of message under RMCP
func (*RmcpHeader) Pack ¶
func (r *RmcpHeader) Pack() []byte
func (*RmcpHeader) Unpack ¶
func (r *RmcpHeader) Unpack(msg []byte) error
type RmcpStatusCode ¶
type RmcpStatusCode uint8
13.24 RMCP+ and RAKP Message Status Codes
const ( RmcpStatusCodeNoErrors RmcpStatusCode = 0x00 RmcpStatusCodeNoResToCreateSess RmcpStatusCode = 0x01 RmcpStatusCodeInvalidSessionID RmcpStatusCode = 0x02 RmcpStatusCodeInvalidPayloadType RmcpStatusCode = 0x03 RmcpStatusCodeInvalidAuthAlg RmcpStatusCode = 0x04 RmcpStatusCodeInvalidIntegrityAlg RmcpStatusCode = 0x05 RmcpStatusCodeNoMatchingAuthPayload RmcpStatusCode = 0x06 RmcpStatusCodeNoMatchingIntegrityPayload RmcpStatusCode = 0x07 RmcpStatusCodeInactiveSessionID RmcpStatusCode = 0x08 RmcpStatusCodeInvalidRole RmcpStatusCode = 0x09 RmcpStatusCodeNoResToCreateSessAtRole RmcpStatusCode = 0x0b RmcpStatusCodeInvalidNameLength RmcpStatusCode = 0x0c RmcpStatusCodeInvalidIntegrityCheckValue RmcpStatusCode = 0x0f RmcpStatusCodeInvalidConfidentAlg RmcpStatusCode = 0x10 RmcpStatusCodeNoCipherSuiteMatch RmcpStatusCode = 0x11 RmcpStatusCodeIllegalParameter RmcpStatusCode = 0x12 )
func (RmcpStatusCode) String ¶
func (c RmcpStatusCode) String() string
type RmcpStatusError ¶
type RmcpStatusError struct {
// contains filtered or unexported fields
}
RmcpStatusError reports a non-zero RMCP+ Open Session or RAKP status code.
func NewRmcpStatusError ¶
func NewRmcpStatusError(statusCode RmcpStatusCode) *RmcpStatusError
NewRmcpStatusError creates an error for a non-zero RMCP+ status code.
func (*RmcpStatusError) Error ¶
func (e *RmcpStatusError) Error() string
func (*RmcpStatusError) StatusCode ¶
func (e *RmcpStatusError) StatusCode() RmcpStatusCode
StatusCode returns the RMCP+ status code reported by the BMC.
type SDR ¶
type SDR struct {
// NextRecordID should be filled by ParseSDR.
NextRecordID uint16
RecordHeader *SDRHeader
Full *SDRFull
Compact *SDRCompact
EventOnly *SDREventOnly
EntityAssociation *SDREntityAssociation
DeviceRelative *SDRDeviceRelative
GenericDeviceLocator *SDRGenericDeviceLocator
FRUDeviceLocator *SDRFRUDeviceLocator
MgmtControllerDeviceLocator *SDRMgmtControllerDeviceLocator
MgmtControllerConfirmation *SDRMgmtControllerConfirmation
BMCChannelInfo *SDRBMCChannelInfo
OEM *SDROEM
Reserved *SDRReserved
}
43. Sensor Data Record Formats
func (*SDR) HasAnalogReading ¶
Determine if sensor has an analog reading
func (*SDR) SensorName ¶
func (*SDR) SensorNumber ¶
func (sdr *SDR) SensorNumber() SensorNumber
Not all SDRs have a sensor number. Only Full/Compact/EventOnly SDRs have a sensor number.
type SDRBMCChannelInfo ¶
type SDRBMCChannelInfo struct {
Channel0 ChannelInfo
Channel1 ChannelInfo
Channel2 ChannelInfo
Channel3 ChannelInfo
Channel4 ChannelInfo
Channel5 ChannelInfo
Channel6 ChannelInfo
Channel7 ChannelInfo
MessagingInterruptType uint8
EventMessageBufferInterruptType uint8
}
43.11 SDR Type 14h - BMC Message Channel Info Record
func (*SDRBMCChannelInfo) Pack ¶
func (s *SDRBMCChannelInfo) Pack(recordID uint16) []byte
Pack encodes a Type 14h BMC Message Channel Info record per v2.0§43.11.
type SDRCompact ¶
type SDRCompact struct {
GeneratorID GeneratorID
SensorNumber SensorNumber
SensorEntityID EntityID
SensorEntityInstance EntityInstance
// 0b = treat entity as a physical entity per Entity ID table
// 1b = treat entity as a logical container entity. For example, if this bit is set,
// and the Entity ID is "Processor", the container entity would be considered
// to represent a logical "Processor Group" rather than a physical processor.
// This bit is typically used in conjunction with an Entity Association record.
SensorEntityIsLogical bool
SensorInitialization SensorInitialization
SensorCapabilities SensorCapabilities
SensorType SensorType
SensorEventReadingType EventReadingType
Mask Mask
SensorUnit SensorUnit
// SensorValue is not stored in SDR intrinsically, this field is set by `enhanceSDR`
// It is fetched by IPMI command GetSensorReading and aligned/converted to SensorUnit based.
SensorValue float64
// SensorStatus is not stored in SDR intrinsically, this field is set by `enhanceSDR`
SensorStatus string
// Sensor Record Sharing / Sensor Direction (v2.0§43.2 Table 43-2, bytes 24–25).
// Packed as a 2-byte bitfield; see packSensorRecordSharing.
SensorDirection uint8 // [7:6] of byte 1: 00b=unspecified, 01b=input, 10b=output
IDStringInstanceModifierType uint8 // [5:4] of byte 1: 00b=numeric, 01b=alpha
EntityInstanceSharing bool // bit 7 of byte 2
IDStringInstanceModifierOffset uint8 // [6:0] of byte 2
// Positive hysteresis is defined as the unsigned number of counts that are
// subtracted from the raw threshold values to create the "re-arm" point for all
// positive-going thresholds on the sensor. 0 indicates that there is no hysteresis on
// positive-going thresholds for this sensor. Hysteresis values are given as raw
// counts. That is, to find the degree of hysteresis in units, the value must be
// converted using the "y=Mx+B" formula.
//
// compact SDR can have pos/neg hysteresis, but they cannot be analog!
PositiveHysteresisRaw uint8
// Negative hysteresis is defined as the unsigned number of counts that are added
// to the raw threshold value to create the "re-arm" point for all negative-going
// thresholds on the sensor. 0 indicates that there is no hysteresis on negative-going
// thresholds for this sensor.
//
// compact SDR can have pos/neg hysteresis, but they cannot be analog!
NegativeHysteresisRaw uint8
IDStringTypeLength TypeLength // Sensor ID String Type/Length Code
IDStringBytes []byte // Sensor ID String bytes.
}
43.2 SDR Type 02h, Compact Sensor Record
The Compact sensor record saves space, but has limitations in the sensors it can describe.
func (*SDRCompact) NegativeHysteresis ¶
func (record *SDRCompact) NegativeHysteresis() (raw uint8, valid bool)
func (*SDRCompact) Pack ¶
func (s *SDRCompact) Pack(recordID uint16) []byte
Pack encodes a Type 02h Compact Sensor record per v2.0§43.2.
func (*SDRCompact) PositiveHysteresis ¶
func (record *SDRCompact) PositiveHysteresis() (raw uint8, valid bool)
func (*SDRCompact) String ¶
func (compact *SDRCompact) String() string
type SDRDeviceRelative ¶
type SDRDeviceRelative struct {
ContainerEntityID uint8
ContainerEntityInstance uint8
ContainerEntityDeviceAddress uint8
ContainerEntityDeviceChannel uint8
// [7] - 0b = contained entities specified as list
// 1b = contained entities specified as range
ContainedEntitiesAsRange bool
// [6] - Record Link
// 0b = no linked Entity Association records
// 1b = linked Entity Association records exist
LinkedEntityAssociationExist bool
// [5] - 0b = Container entity and contained entities can be assumed absent
// if presence sensor for container entity cannot be accessed.
// This value is also used if the entity does not have a presence sensor.
// 1b = Presence sensor should always be accessible. Software should consider
// it an error if the presence sensor associated with the container entity
// is not accessible. If a presence sensor is accessible, then the
// presence sensor can still report that the container entity is absent.
PresenceSensorAlwaysAccessible bool
ContainedEntity1DeviceAddress uint8
ContainedEntity1DeviceChannel uint8
ContainedEntity1ID uint8
ContainedEntity1Instance uint8
ContainedEntity2DeviceAddress uint8
ContainedEntity2DeviceChannel uint8
ContainedEntity2ID uint8
ContainedEntity2Instance uint8
ContainedEntity3DeviceAddress uint8
ContainedEntity3DeviceChannel uint8
ContainedEntity3ID uint8
ContainedEntity3Instance uint8
ContainedEntity4DeviceAddress uint8
ContainedEntity4DeviceChannel uint8
ContainedEntity4ID uint8
ContainedEntity4Instance uint8
}
43.5 SDR Type 09h - Device-relative Entity Association Record
func (*SDRDeviceRelative) Pack ¶
func (s *SDRDeviceRelative) Pack(recordID uint16) []byte
Pack encodes a Type 09h Device-relative Entity Association record per v2.0§43.5.
type SDREntityAssociation ¶
type SDREntityAssociation struct {
ContainerEntityID uint8
ContainerEntityInstance uint8
// [7] - 0b = contained entities specified as list
// 1b = contained entities specified as range
ContainedEntitiesAsRange bool
// [6] - Record Link
// 0b = no linked Entity Association records
// 1b = linked Entity Association records exist
LinkedEntityAssociationExist bool
// [5] - 0b = Container entity and contained entities can be assumed absent
// if presence sensor for container entity cannot be accessed.
// This value is also used if the entity does not have a presence sensor.
// 1b = Presence sensor should always be accessible. Software should consider
// it an error if the presence sensor associated with the container entity
// is not accessible. If a presence sensor is accessible, then the
// presence sensor can still report that the container entity is absent.
PresenceSensorAlwaysAccessible bool
ContainedEntity1ID uint8
ContainedEntity1Instance uint8
ContainedEntity2ID uint8
ContainedEntity2Instance uint8
ContainedEntity3ID uint8
ContainedEntity3Instance uint8
ContainedEntity4ID uint8
ContainedEntity4Instance uint8
}
43.4 SDR Type 08h - Entity Association Record
func (*SDREntityAssociation) Pack ¶
func (s *SDREntityAssociation) Pack(recordID uint16) []byte
Pack encodes a Type 08h Entity Association record per v2.0§43.4.
type SDREventOnly ¶
type SDREventOnly struct {
GeneratorID GeneratorID
SensorNumber SensorNumber // Unique number identifying the sensor behind a given slave address and LUN. Code FFh reserved.
SensorEntityID EntityID
SensorEntityInstance EntityInstance
// 0b = treat entity as a physical entity per Entity ID table
// 1b = treat entity as a logical container entity. For example, if this bit is set,
// and the Entity ID is "Processor", the container entity would be considered
// to represent a logical "Processor Group" rather than a physical processor.
// This bit is typically used in conjunction with an Entity Association record.
SensorEntityIsLogical bool
SensorType SensorType
SensorEventReadingType EventReadingType
// Sensor Record Sharing / Sensor Direction (v2.0§43.3 Table 43-3, bytes 13–14).
// Packed as a 2-byte bitfield; see packSensorRecordSharing.
SensorDirection uint8 // [7:6] of byte 1
IDStringInstanceModifierType uint8 // [5:4] of byte 1: 00b=numeric, 01b=alpha
EntityInstanceSharing bool // bit 7 of byte 2
IDStringInstanceModifierOffset uint8 // [6:0] of byte 2
OEM uint8 // byte 16; reserved for OEM use (v2.0§43.3)
IDStringTypeLength TypeLength
IDStringBytes []byte
}
43.3 SDR Type 03h, Event-Only Record
func (*SDREventOnly) Pack ¶
func (s *SDREventOnly) Pack(recordID uint16) []byte
Pack encodes a Type 03h Event-only Sensor record per v2.0§43.3.
func (*SDREventOnly) String ¶
func (eventOnly *SDREventOnly) String() string
type SDRFRUDeviceLocator ¶
type SDRFRUDeviceLocator struct {
// [7:1] - Slave address of controller used to access device. 0000000b if device is directly on IPMB.
// This field indicates whether the device is on a private bus or not.
DeviceAccessAddress uint8
// FRU Device ID / Device Slave Address
//
// For Logical FRU DEVICE (accessed via FRU commands to mgmt. controller):
// [7:0] - Number identifying FRU device within given IPM Controller. FFh = reserved.
// The primary FRU device for a management controller is always device #0 at
// LUN 00b. The primary FRU device is not reported via this FRU Device Locator
// record - its presence is identified via the Device Capabilities field in the
// Management Controller Device Locator record.
//
// For non-intelligent FRU device:
// [7:1] - 7-bit I2C Slave Address
// This is relative to the bus the device is on.
// For devices on the IPMB, this is the slave address of the device on the IPMB.
// For devices on a private bus, this is the slave address of the device on the private bus.
// [0] - reserved
FRUDeviceID_SlaveAddress uint8
// [7] - logical/physical FRU device
// 0b = device is not a logical FRU Device (a physical device, that is a non-intelligent device)
// 1b = device is logical FRU Device (accessed via FRU commands to mgmt. controller)
IsLogicalFRUDevice bool
// [4:3] - LUN for Read/Write FRU Data Command or Master Write-Read command.
AccessLUN uint8
// [2:0] - Private bus ID if bus = Private.
// 000b if device directly on IPMB, or device is a logical FRU Device.
//
// three bits, total eight bus ids, 000 ~ 111, (0 ~ 7)
PrivateBusID uint8
// [7:4] - Channel number for management controller used to access device.
// 000b if device directly on the primary IPMB, or if controller is on the primary IPMB.
// Msbit for channel number is kept in next byte.
// (For IPMI v1.5. This byte position was reserved for IPMI v1.0.)
//
// [3:0] - reserved
ChannelNumber uint8
DeviceType DeviceType
DeviceTypeModifier uint8
FRUEntityID uint8
FRUEntityInstance uint8
DeviceIDTypeLength TypeLength
DeviceIDBytes []byte // Short ID string for the FRU Device
}
43.8 SDR Type 11h - FRU Device Locator Record 38. Accessing FRU Devices
func (*SDRFRUDeviceLocator) Location ¶
func (sdrFRU *SDRFRUDeviceLocator) Location() FRULocation
Table 38-1, FRU Device Locator Field Usage
func (*SDRFRUDeviceLocator) Pack ¶
func (s *SDRFRUDeviceLocator) Pack(recordID uint16) []byte
Pack encodes a Type 11h FRU Device Locator record per v2.0§43.8.
type SDRFull ¶
type SDRFull struct {
GeneratorID GeneratorID
SensorNumber SensorNumber
// Indicates the physical entity that the sensor is monitoring or is otherwise
// associated with the sensor.
SensorEntityID EntityID
SensorEntityInstance EntityInstance
// For example, if this bit is set, and the Entity ID is "Processor",
// the container entity would be considered to represent a logical "Processor Group" rather than a physical processor.
//
// This bit is typically used in conjunction with an Entity Association full.
//
// 0b = treat entity as a physical entity per Entity ID table
// 1b = treat entity as a logical container entity.
SensorEntityIsLogical bool
SensorInitialization SensorInitialization
SensorCapabilities SensorCapabilities
SensorType SensorType
SensorEventReadingType EventReadingType
Mask Mask
SensorUnit SensorUnit
// Note, SensorValue is not stored in SDR intrinsically, this field is set by `enhanceSDR`
// It is fetched by IPMI command GetSensorReading and aligned/converted to SensorUnit based.
SensorValue float64
// Note, SensorStatus is not stored in SDR intrinsically, this field is set by `enhanceSDR`
SensorStatus string
EntityInstanceSharing uint8
// LinearizationFunc is the Linearization func. (L of the Sensor Reading Conversion Formula)
//
// [6:0] - enum (linear, ln, log10, log2, e, exp10, exp2, 1/x, sqr(x), cube(x), sqrt(x),
// cube-1 (x) )
// - 70h = non-linear.
// 71h-7Fh = non-linear, OEM defined.
LinearizationFunc LinearizationFunc
ReadingFactors
// Sensor Direction. Indicates whether the sensor is monitoring an input or
// output relative to the given Entity. E.g. if the sensor is monitoring a
// current, this can be used to specify whether it is an input voltage or an
// output voltage.
// 00b = unspecified / not applicable
// 01b = input
// 10b = output
// 11b = reserved
SensorDirection uint8
NominalReadingSpecified bool
NormalMaxSpecified bool
NormalMinSpecified bool
// 额定值, 标称值
// Given as a raw value. Must be converted to units-based value using the y=Mx+B
// formula. 1's or 2's complement signed or unsigned per flag bits in Sensor Units 1
//
// Only meaningful when NominalReadingSpecified is true
NominalReadingRaw uint8
// 最大正常值
// Only meaningful when NormalMaxSpecified is true
NormalMaxRaw uint8
// 最小正常值
// Only meaningful when NormalMinSpecified is true
NormalMinRaw uint8
// Given as a raw value. Must be converted to units-based value based on using the
// y=Mx+B formula. Signed or unsigned per "signed" bit in sensor flags. Normally
// "FFh" for an 8-bit unsigned sensor, but can be a lesser value if the sensor has a
// restricted range. If max. reading cannot be pre-specified this value should be set
// to max value, based on data format, (e.g. FFh for an unsigned sensor, 7Fh for 2's
// complement, etc.)
SensorMaxReadingRaw uint8
// Given as a raw value. Must be converted to units-based value using the "y=Mx+B"
// formula. Signed or unsigned per "signed" bit in sensor flags. If min. reading
// cannot be pre-specified this value should be set to min value, based on data
// format, (e.g. 00h for an unsigned sensor, 80h for 2's complement, etc.)
SensorMinReadingRaw uint8
// Given as raw value.
UNR_Raw uint8
UCR_Raw uint8
UNC_Raw uint8
LNR_Raw uint8
LCR_Raw uint8
LNC_Raw uint8
// Positive hysteresis is defined as the unsigned number of counts that are
// subtracted from the raw threshold values to create the "re-arm" point for all
// positive-going thresholds on the sensor. 0 indicates that there is no hysteresis on
// positive-going thresholds for this sensor. Hysteresis values are given as raw
// counts. That is, to find the degree of hysteresis in units, the value must be
// converted using the "y=Mx+B" formula.
//
// 正向迟滞量
PositiveHysteresisRaw uint8
// Negative hysteresis is defined as the unsigned number of counts that are added
// to the raw threshold value to create the "re-arm" point for all negative-going
// thresholds on the sensor. 0 indicates that there is no hysteresis on negative-going
// thresholds for this sensor.
//
// 负向迟滞量
NegativeHysteresisRaw uint8
IDStringTypeLength TypeLength
IDStringBytes []byte
}
43.1 SDRFull Type 01h, Full Sensor Record
The Full Sensor Record can be used to describe any type of sensor.
func (*SDRFull) ConvertReading ¶
ConvertReading converts raw sensor reading or raw sensor threshold value to real value in the desired units for the sensor.
func (*SDRFull) ConvertSensorHysteresis ¶
ConvertSensorHysteresis converts raw sensor hysteresis value to real value in the desired units for the sensor.
func (*SDRFull) ConvertSensorTolerance ¶
ConvertSensorTolerance converts raw sensor tolerance value to real value in the desired units for the sensor.
func (*SDRFull) HasAnalogReading ¶
func (*SDRFull) HysteresisStr ¶
func (*SDRFull) ReadingMaxStr ¶
func (*SDRFull) ReadingMinStr ¶
func (*SDRFull) SensorThreshold ¶
func (full *SDRFull) SensorThreshold(thresholdType SensorThresholdType) SensorThreshold
SensorThreshold return SensorThreshold for a specified threshold type.
func (*SDRFull) ThresholdValueStr ¶
func (full *SDRFull) ThresholdValueStr(thresholdType SensorThresholdType) string
ThresholdValueStr formats a threshold value for specified threshold type. If the threshold is not readable, return "not readable".
type SDRGenericDeviceLocator ¶
type SDRGenericDeviceLocator struct {
DeviceAccessAddress uint8 // Slave address of management controller used to access device. 0000000b if device is directly on IPMB
DeviceSlaveAddress uint8
ChannelNumber uint8 // Channel number for management controller used to access device
AccessLUN uint8 // LUN for Master Write-Read command. 00b if device is non-intelligent device directly on IPMB.
PrivateBusID uint8 // Private bus ID if bus = Private. 000b if device directly on IPMB
AddressSpan uint8
DeviceType uint8
DeviceTypeModifier uint8
EntityID uint8
EntityInstance uint8
DeviceIDTypeLength TypeLength
DeviceIDString []byte // Short ID string for the device
}
43.7 SDR Type 10h - Generic Device Locator Record 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.
These devices can either be common non-intelligent I2C devices, special management ASICs, or proprietary controllers.
IPMI FRU Devices and Management Controllers are located via the FRU Device Locator and Management Controller Device Locator records described in following sections.
func (*SDRGenericDeviceLocator) Pack ¶
func (s *SDRGenericDeviceLocator) Pack(recordID uint16) []byte
Pack encodes a Type 10h Generic Device Locator record per v2.0§43.7.
type SDRHeader ¶
type SDRHeader struct {
RecordID uint16
SDRVersion uint8 // The version number of the SDR specification.
RecordType SDRRecordType // A number representing the type of the record. E.g. 01h = 8-bit Sensor with Thresholds.
RecordLength uint8 // Number of bytes of data following the Record Length field.
}
func ParseSDRHeader ¶
ParseSDR parses raw SDR record data to SDR struct. This function is normally used after getting GetSDRResponse or GetDeviceSDRResponse to interpret the raw SDR record data in the response. ParseSDRHeader parses the fixed 5-byte SDR record header (v2.0§43).
type SDRMapBySensorNumber ¶
type SDRMapBySensorNumber map[GeneratorID]map[SensorNumber]*SDR
type SDRMgmtControllerConfirmation ¶
type SDRMgmtControllerConfirmation struct {
DeviceSlaveAddress uint8 // 7-bit I2C Slave Address[1] of device on IPMB.
DeviceID uint8
ChannelNumber uint8
DeviceRevision uint8
FirmwareMajorRevision uint8 // [6:0] - Major Firmware Revision, binary encoded.
FirmwareMinorRevision uint8 // Minor Firmware Revision. BCD encoded.
// IPMI Version from Get Device ID command. Holds IPMI Command Specification
// Version. BCD encoded. 00h = reserved. Bits 7:4 hold the Least Significant digit of the
// revision, while bits 3:0 hold the Most Significant bits. E.g. a value of 01h indicates
// revision 1.0
MajorIPMIVersion uint8
MinorIPMIVersion uint8
ManufacturerID uint32 // 3 bytes only
ProductID uint16
DeviceGUID []byte // 16 bytes
}
43.10 SDR Type 13h - Management Controller Confirmation Record
func (*SDRMgmtControllerConfirmation) Pack ¶
func (s *SDRMgmtControllerConfirmation) Pack(recordID uint16) []byte
Pack encodes a Type 13h MC Confirmation record per v2.0§43.10.
type SDRMgmtControllerDeviceLocator ¶
type SDRMgmtControllerDeviceLocator struct {
DeviceSlaveAddress uint8 // 7-bit I2C Slave Address[1] of device on channel
ChannelNumber uint8
ACPISystemPowerStateNotificationRequired bool
ACPIDevicePowerStateNotificationRequired bool
ControllerLogsInitializationAgentErrors bool
LogInitializationAgentErrors bool
DeviceCap_ChassisDevice bool // device functions as chassis device
DeviceCap_Bridge bool // Controller responds to Bridge NetFn command
DeviceCap_IPMBEventGenerator bool // device generates event messages on IPMB
DeviceCap_IPMBEventReceiver bool // device accepts event messages from IPMB
DeviceCap_FRUInventoryDevice bool // accepts FRU commands to FRU Device #0 at LUN 00b
DeviceCap_SELDevice bool // provides interface to SEL
DeviceCap_SDRRepoDevice bool // For BMC, indicates BMC provides interface to 1b = SDR Repository. For other controller, indicates controller accepts Device SDR commands
DeviceCap_SensorDevice bool // device accepts sensor commands
EntityID uint8
EntityInstance uint8
DeviceIDTypeLength TypeLength
DeviceIDBytes []byte
}
43.9 SDR Type 12h - Management Controller Device Locator Record
func (*SDRMgmtControllerDeviceLocator) Pack ¶
func (s *SDRMgmtControllerDeviceLocator) Pack(recordID uint16) []byte
Pack encodes a Type 12h MC Device Locator record per v2.0§43.9.
type SDRRecordType ¶
type SDRRecordType uint8
43. Sensor Data Record Formats SDRRecordType is a number representing the type of the record.
const ( SDRRecordTypeFullSensor SDRRecordType = 0x01 SDRRecordTypeCompactSensor SDRRecordType = 0x02 SDRRecordTypeEventOnly SDRRecordType = 0x03 SDRRecordTypeEntityAssociation SDRRecordType = 0x08 SDRRecordTypeDeviceRelativeEntityAssociation SDRRecordType = 0x09 SDRRecordTypeGenericLocator SDRRecordType = 0x10 SDRRecordTypeFRUDeviceLocator SDRRecordType = 0x11 SDRRecordTypeManagementControllerDeviceLocator SDRRecordType = 0x12 SDRRecordTypeManagementControllerConfirmation SDRRecordType = 0x13 SDRRecordTypeBMCMessageChannelInfo SDRRecordType = 0x14 SDRRecordTypeOEM SDRRecordType = 0xc0 )
func (SDRRecordType) String ¶
func (sdrRecordType SDRRecordType) String() string
type SEL ¶
type SEL struct {
// SEL Record IDs 0000h and FFFFh are reserved for functional use and are not legal ID values.
// Record IDs are handles. They are not required to be sequential or consecutive.
// Applications should not assume that SEL Record IDs will follow any particular numeric ordering.
RecordID uint16
RecordType SELRecordType
Standard *SELStandard
OEMTimestamped *SELOEMTimestamped
OEMNonTimestamped *SELOEMNonTimestamped
}
32. SEL Record Formats
type SELOEMNonTimestamped ¶
type SELOEMNonTimestamped struct {
OEM [13]byte
}
func (*SELOEMNonTimestamped) Pack ¶
func (oemNonTimestamped *SELOEMNonTimestamped) Pack() []byte
type SELOEMTimestamped ¶
type SELOEMTimestamped struct {
Timestamp time.Time // Time when event was logged. uint32 LS byte first.
ManufacturerID uint32 // only 3 bytes
OEMDefined [6]byte
}
32.2 OEM SEL Record - Type C0h-DFh
func (*SELOEMTimestamped) Pack ¶
func (oemTimestamped *SELOEMTimestamped) Pack() []byte
type SELRecordType ¶
type SELRecordType uint8
31.6.1 SEL Record Type Ranges
func (SELRecordType) Range ¶
func (typ SELRecordType) Range() SELRecordTypeRange
The SELRecordType can be categorized into 3 ranges according to the SELRecordType value.
- 00h - BFh -> standard
- C0h - DFh -> timestamped OEM
- E0h - FFh -> none-timestamped OEM
func (SELRecordType) String ¶
func (typ SELRecordType) String() string
type SELRecordTypeRange ¶
type SELRecordTypeRange string
const ( // Range reserved for standard SEL Record Types. // As of this writing, only type 02h is defined. // Records are automatically timestamped unless otherwise indicated // 00h - BFh SELRecordTypeRangeStandard SELRecordTypeRange = "standard" // 32.2 OEM SEL Record - Type C0h-DFh // Range reserved for timestamped OEM SEL records. // These records are automatically timestamped by the SEL Device // C0h - DFh SELRecordTypeRangeTimestampedOEM SELRecordTypeRange = "timestamped OEM" // 32.3 OEM SEL Record - Type E0h-FFh // Range reserved for non-timestamped OEM SEL records. // The SEL Device does not automatically timestamp these records. // The four bytes passed in the byte locations for the timestamp will be directly entered into the SEL. // E0h - FFh SELRecordTypeRangeNonTimestampedOEM SELRecordTypeRange = "non-timestamped OEM" )
type SELStandard ¶
type SELStandard struct {
Timestamp time.Time // Time when event was logged. uint32 LS byte first.
GeneratorID GeneratorID // RqSA & LUN if event was generated from IPMB. Software ID if event was generated from system software.
EvMRev uint8 // Event Message Revision (format version)
SensorType SensorType // Sensor Type Code for sensor that generated the event
SensorNumber SensorNumber // Number of sensor that generated the event
EventDir EventDir // Event Direction. [7] -0b = Assertion event. 1b = Deassertion event.
EventReadingType EventReadingType // Type of trigger for the event. [6:0] - Event Type Code
// 29.7 Event Data Field Formats
//
// The sensor class determines the corresponding Event Data format.
// The sensor class can be extracted from EventReadingType.
EventData EventData
}
32.1 SEL Standard Event Records
func (*SELStandard) EventSeverity ¶
func (sel *SELStandard) EventSeverity() EventSeverity
func (*SELStandard) EventString ¶
func (sel *SELStandard) EventString() string
EventString return string description of the event.
func (*SELStandard) Pack ¶
func (standard *SELStandard) Pack() []byte
type SOLConfigParamSelector ¶
type SOLConfigParamSelector uint8
const ( SOLConfigParamSelector_SetInProgress SOLConfigParamSelector = 0x00 SOLConfigParamSelector_SOLEnable SOLConfigParamSelector = 0x01 SOLConfigParamSelector_SOLAuthentication SOLConfigParamSelector = 0x02 SOLConfigParamSelector_Character SOLConfigParamSelector = 0x03 SOLConfigParamSelector_SOLRetry SOLConfigParamSelector = 0x04 SOLConfigParamSelector_NonVolatileBitRate SOLConfigParamSelector = 0x05 SOLConfigParamSelector_VolatileBitRate SOLConfigParamSelector = 0x06 SOLConfigParamSelector_PayloadChannel SOLConfigParamSelector = 0x07 SOLConfigParamSelector_PayloadPort SOLConfigParamSelector = 0x08 )
func (SOLConfigParamSelector) String ¶
func (p SOLConfigParamSelector) String() string
type SOLConfigParam_Character ¶
func (*SOLConfigParam_Character) Format ¶
func (p *SOLConfigParam_Character) Format() string
func (*SOLConfigParam_Character) Pack ¶
func (p *SOLConfigParam_Character) Pack() []byte
func (*SOLConfigParam_Character) SOLConfigParameter ¶
func (p *SOLConfigParam_Character) SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*SOLConfigParam_Character) Unpack ¶
func (p *SOLConfigParam_Character) Unpack(paramData []byte) error
type SOLConfigParam_NonVolatileBitRate ¶
type SOLConfigParam_NonVolatileBitRate struct {
BitRate uint8
}
func (*SOLConfigParam_NonVolatileBitRate) Format ¶
func (p *SOLConfigParam_NonVolatileBitRate) Format() string
func (*SOLConfigParam_NonVolatileBitRate) Pack ¶
func (p *SOLConfigParam_NonVolatileBitRate) Pack() []byte
func (*SOLConfigParam_NonVolatileBitRate) SOLConfigParameter ¶
func (p *SOLConfigParam_NonVolatileBitRate) SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*SOLConfigParam_NonVolatileBitRate) Unpack ¶
func (p *SOLConfigParam_NonVolatileBitRate) Unpack(paramData []byte) error
type SOLConfigParam_PayloadChannel ¶
type SOLConfigParam_PayloadChannel struct {
ChannelNumber uint8
}
func (*SOLConfigParam_PayloadChannel) Format ¶
func (p *SOLConfigParam_PayloadChannel) Format() string
func (*SOLConfigParam_PayloadChannel) Pack ¶
func (p *SOLConfigParam_PayloadChannel) Pack() []byte
func (*SOLConfigParam_PayloadChannel) SOLConfigParameter ¶
func (p *SOLConfigParam_PayloadChannel) SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*SOLConfigParam_PayloadChannel) Unpack ¶
func (p *SOLConfigParam_PayloadChannel) Unpack(paramData []byte) error
type SOLConfigParam_PayloadPort ¶
type SOLConfigParam_PayloadPort struct {
Port uint16
}
func (*SOLConfigParam_PayloadPort) Format ¶
func (p *SOLConfigParam_PayloadPort) Format() string
func (*SOLConfigParam_PayloadPort) Pack ¶
func (p *SOLConfigParam_PayloadPort) Pack() []byte
func (*SOLConfigParam_PayloadPort) SOLConfigParameter ¶
func (p *SOLConfigParam_PayloadPort) SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*SOLConfigParam_PayloadPort) Unpack ¶
func (p *SOLConfigParam_PayloadPort) Unpack(paramData []byte) error
type SOLConfigParam_SOLAuthentication ¶
type SOLConfigParam_SOLAuthentication struct {
ForceEncryption bool
ForceAuthentication bool
PrivilegeLevel uint8
}
func (*SOLConfigParam_SOLAuthentication) Format ¶
func (p *SOLConfigParam_SOLAuthentication) Format() string
func (*SOLConfigParam_SOLAuthentication) Pack ¶
func (p *SOLConfigParam_SOLAuthentication) Pack() []byte
func (*SOLConfigParam_SOLAuthentication) SOLConfigParameter ¶
func (p *SOLConfigParam_SOLAuthentication) SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*SOLConfigParam_SOLAuthentication) Unpack ¶
func (p *SOLConfigParam_SOLAuthentication) Unpack(paramData []byte) error
type SOLConfigParam_SOLEnable ¶
type SOLConfigParam_SOLEnable struct {
EnableSOLPayload bool
}
func (*SOLConfigParam_SOLEnable) Format ¶
func (p *SOLConfigParam_SOLEnable) Format() string
func (*SOLConfigParam_SOLEnable) Pack ¶
func (p *SOLConfigParam_SOLEnable) Pack() []byte
func (*SOLConfigParam_SOLEnable) SOLConfigParameter ¶
func (p *SOLConfigParam_SOLEnable) SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*SOLConfigParam_SOLEnable) Unpack ¶
func (p *SOLConfigParam_SOLEnable) Unpack(paramData []byte) error
type SOLConfigParam_SOLRetry ¶
type SOLConfigParam_SOLRetry struct {
// 1-based. 0 = no retries after packet is transmitted. Packet will be
// dropped if no ACK/NACK received by time retries expire.
RetryCount uint8
RetryInterval10Millis uint8
}
func (*SOLConfigParam_SOLRetry) Format ¶
func (p *SOLConfigParam_SOLRetry) Format() string
func (*SOLConfigParam_SOLRetry) Pack ¶
func (p *SOLConfigParam_SOLRetry) Pack() []byte
func (*SOLConfigParam_SOLRetry) SOLConfigParameter ¶
func (p *SOLConfigParam_SOLRetry) SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*SOLConfigParam_SOLRetry) Unpack ¶
func (p *SOLConfigParam_SOLRetry) Unpack(paramData []byte) error
type SOLConfigParam_SetInProgress ¶
type SOLConfigParam_SetInProgress struct {
Value SetInProgressState
}
func (*SOLConfigParam_SetInProgress) Format ¶
func (p *SOLConfigParam_SetInProgress) Format() string
func (*SOLConfigParam_SetInProgress) Pack ¶
func (p *SOLConfigParam_SetInProgress) Pack() []byte
func (*SOLConfigParam_SetInProgress) SOLConfigParameter ¶
func (p *SOLConfigParam_SetInProgress) SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*SOLConfigParam_SetInProgress) Unpack ¶
func (p *SOLConfigParam_SetInProgress) Unpack(paramData []byte) error
type SOLConfigParam_VolatileBitRate ¶
type SOLConfigParam_VolatileBitRate struct {
BitRate uint8
}
func (*SOLConfigParam_VolatileBitRate) Format ¶
func (p *SOLConfigParam_VolatileBitRate) Format() string
func (*SOLConfigParam_VolatileBitRate) Pack ¶
func (p *SOLConfigParam_VolatileBitRate) Pack() []byte
func (*SOLConfigParam_VolatileBitRate) SOLConfigParameter ¶
func (p *SOLConfigParam_VolatileBitRate) SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
func (*SOLConfigParam_VolatileBitRate) Unpack ¶
func (p *SOLConfigParam_VolatileBitRate) Unpack(paramData []byte) error
type SOLConfigParameter ¶
type SOLConfigParameter interface {
SOLConfigParameter() (paramSelector SOLConfigParamSelector, setSelector uint8, blockSelector uint8)
Parameter
}
type SOLConfigParams ¶
type SOLConfigParams struct {
SetInProgress *SOLConfigParam_SetInProgress
SOLEnable *SOLConfigParam_SOLEnable
SOLAuthentication *SOLConfigParam_SOLAuthentication
Character *SOLConfigParam_Character
SOLRetry *SOLConfigParam_SOLRetry
NonVolatileBitRate *SOLConfigParam_NonVolatileBitRate
VolatileBitRate *SOLConfigParam_VolatileBitRate
PayloadChannel *SOLConfigParam_PayloadChannel
PayloadPort *SOLConfigParam_PayloadPort
}
func (*SOLConfigParams) Format ¶
func (p *SOLConfigParams) Format() string
type SOLPayloadPacket ¶
type SOLPayloadPacket struct {
SequenceNumber uint8
AckedSequenceNumber uint8
AcceptedCharacterCount uint8
// ControlByte is written to wire byte 3 for outbound console operation bits.
// For inbound packets, Unpack stores the full BMC status byte.
ControlByte uint8
// NACK sets bit 6 in byte 3 when packing and is populated from bit 6 when unpacking.
NACK bool
CharacterData []byte
}
SOLPayloadPacket is the IPMI 2.0 SOL payload data format.
func (*SOLPayloadPacket) Pack ¶
func (p *SOLPayloadPacket) Pack() []byte
Pack encodes the SOL payload packet.
func (*SOLPayloadPacket) Unpack ¶
func (p *SOLPayloadPacket) Unpack(msg []byte) error
Unpack decodes the SOL payload packet.
type SOLPayloadRequest ¶
type SOLPayloadRequest struct {
SOLPayloadPacket
}
SOLPayloadRequest is an RMCP+ session request with payload type SOL.
func (*SOLPayloadRequest) Command ¶
func (r *SOLPayloadRequest) Command() Command
Command returns the pseudo-command metadata for SOL payload packets.
func (*SOLPayloadRequest) Pack ¶
func (r *SOLPayloadRequest) Pack() []byte
Pack encodes the SOL payload request.
type SOLPayloadResponse ¶
type SOLPayloadResponse struct {
SOLPayloadPacket
}
SOLPayloadResponse is the BMC reply to a SOL payload packet.
func (*SOLPayloadResponse) Format ¶
func (r *SOLPayloadResponse) Format() string
Format returns a human-readable representation.
func (*SOLPayloadResponse) Unpack ¶
func (r *SOLPayloadResponse) Unpack(data []byte) error
Unpack decodes the SOL payload response.
type Sensor ¶
type Sensor struct {
GeneratorID GeneratorID
Number uint8
Name string
SDRRecordType SDRRecordType
HasAnalogReading bool
SensorType SensorType
EventReadingType EventReadingType
SensorUnit SensorUnit
SensorInitialization SensorInitialization
SensorCapabilities SensorCapabilities
EntityID EntityID
EntityInstance EntityInstance
NotPresent bool // update by GetSensorReading (CodeRequestedDataNotPresent)
ScanningDisabled bool // update by GetSensorReadingResponse
ReadingAvailable bool // update by GetSensorReadingResponse
// Raw reading value before conversion
Raw uint8
// reading value after conversion
Value float64
Threshold struct {
Mask Mask_Thresholds
// Threshold Status, updated by GetSensorReadingResponse.ThresholdStatus()
ThresholdStatus SensorThresholdStatus
// Only Full SDR
LinearizationFunc LinearizationFunc
ReadingFactors
LNC_Raw uint8
LCR_Raw uint8
LNR_Raw uint8
UNC_Raw uint8
UCR_Raw uint8
UNR_Raw uint8
LNC float64
LCR float64
LNR float64
UNC float64
UCR float64
UNR float64
PositiveHysteresisRaw uint8
NegativeHysteresisRaw uint8
PositiveHysteresis float64
NegativeHysteresis float64
}
Discrete struct {
Mask Mask_Discrete
ActiveStates Mask_DiscreteEvent
// filled by GetSensorReadingResponse
OptionalData1 uint8
OptionalData2 uint8
}
OccurredEvents []SensorEvent
}
Sensor holds all attribute of a sensor.
func (*Sensor) ConvertReading ¶
ConvertReading converts raw discrete-sensor reading or raw threshold-sensor value to real value in the desired units for the sensor.
This function can also be applied on raw threshold setting (UNR,UCR,UNC,LNC,LCR,LNR) values.
func (*Sensor) ConvertSensorHysteresis ¶
func (*Sensor) ConvertSensorTolerance ¶
func (*Sensor) DiscreteActiveEvents ¶
func (*Sensor) DiscreteActiveEventsString ¶
func (*Sensor) EventString ¶
func (*Sensor) HysteresisStr ¶
func (*Sensor) IsReadingValid ¶
func (*Sensor) IsThreshold ¶
IsThreshold returns whether the sensor is threshold sensor class or not.
func (*Sensor) IsThresholdAndReadingValid ¶
func (*Sensor) IsThresholdReadable ¶
func (sensor *Sensor) IsThresholdReadable(thresholdType SensorThresholdType) bool
func (*Sensor) ReadingStr ¶
ReadingStr returns the reading value of the sensor. The reading value is converted and aligned with the sensor unit, but the unit is not included in the string.
func (*Sensor) SensorThreshold ¶
func (sensor *Sensor) SensorThreshold(thresholdType SensorThresholdType) SensorThreshold
SensorThreshold return SensorThreshold for a specified threshold type.
func (*Sensor) ThresholdStr ¶
func (sensor *Sensor) ThresholdStr(thresholdType SensorThresholdType) string
type SensorAnalogUnitFormat ¶
type SensorAnalogUnitFormat uint8
const ( SensorAnalogUnitFormat_Unsigned SensorAnalogUnitFormat = 0 // unsigned SensorAnalogUnitFormat_1sComplement SensorAnalogUnitFormat = 1 // 1's complement (signed) SensorAnalogUnitFormat_2sComplement SensorAnalogUnitFormat = 2 // 2's complement (signed) SensorAnalogUnitFormat_NotAnalog SensorAnalogUnitFormat = 3 // does not return analog (numeric) reading )
func (SensorAnalogUnitFormat) String ¶
func (format SensorAnalogUnitFormat) String() string
type SensorCapabilities ¶
type SensorCapabilities struct {
// [7] - 1b = ignore sensor if Entity is not present or disabled. 0b = don't ignore sensor
IgnoreSensorIfNoEntity bool
// Sensor Auto Re-arm Support
// Indicates whether the sensor requires manual rearming, or automatically rearms
// itself when the event clears. 'manual' implies that the get sensor event status and
// rearm sensor events commands are supported
// [6] - 0b = no (manual), 1b = yes (auto)
AutoRearm bool
HysteresisAccess SensorHysteresisAccess
ThresholdAccess SensorThresholdAccess
EventMessageControl SensorEventMessageControl
}
SensorCapabilities represent the capabilities of the sensor. SDRs of Full/Compact record type has this field.
type SensorClass ¶
type SensorClass string
42.1 Sensors are classified according to the type of readings they provide and/or the type of events they generate.
Three sensor classes: threshold, discrete, oem (oem is a special case of discrete)
A sensor can return either an analog or discrete readings. Sensor events can be discrete or threshold-based. Valid sensorclass string values are: "N/A", "threshold", "discrete", "oem"
const ( SensorClassNotApplicable SensorClass = "N/A" // 不适用的 SensorClassThreshold SensorClass = "threshold" // 离散 multiple states possible // Discrete sensors can contain up to 15 possible states. // It is possible for a discrete sensor to have more than one state active at a time SensorClassDiscrete SensorClass = "discrete" // Special case of discrete where the meaning of the states (offsets) are OEM defined. SensorClassOEM SensorClass = "oem" )
type SensorEvent ¶
type SensorEvent struct {
SensorClass SensorClass
ThresholdType SensorThresholdType
Assert bool // true -> assertion events; false -> deassertion events
High bool // true -> going high; false -> going low
State uint8 // state 0-14 (total 15 possible states)
}
func (SensorEvent) String ¶
func (e SensorEvent) String() string
type SensorEventFlag ¶
type SensorEventFlag struct {
SensorEvent_UNC_High_Assert bool
SensorEvent_UNC_Low_Assert bool
SensorEvent_LNR_High_Assert bool
SensorEvent_LNR_Low_Assert bool
SensorEvent_LCR_High_Assert bool
SensorEvent_LCR_Low_Assert bool
SensorEvent_LNC_High_Assert bool
SensorEvent_LNC_Low_Assert bool
SensorEvent_State_7_Assert bool
SensorEvent_State_6_Assert bool
SensorEvent_State_5_Assert bool
SensorEvent_State_4_Assert bool
SensorEvent_State_3_Assert bool
SensorEvent_State_2_Assert bool
SensorEvent_State_1_Assert bool
SensorEvent_State_0_Assert bool
SensorEvent_UNR_High_Assert bool
SensorEvent_UNR_Low_Assert bool
SensorEvent_UCR_High_Assert bool
SensorEvent_UCR_Low_Assert bool
SensorEvent_State_14_Assert bool
SensorEvent_State_13_Assert bool
SensorEvent_State_12_Assert bool
SensorEvent_State_11_Assert bool
SensorEvent_State_10_Assert bool
SensorEvent_State_9_Assert bool
SensorEvent_State_8_Assert bool
SensorEvent_UNC_High_Deassert bool
SensorEvent_UNC_Low_Deassert bool
SensorEvent_LNR_High_Deassert bool
SensorEvent_LNR_Low_Deassert bool
SensorEvent_LCR_High_Deassert bool
SensorEvent_LCR_Low_Deassert bool
SensorEvent_LNC_High_Deassert bool
SensorEvent_LNC_Low_Deassert bool
SensorEvent_State_7_Deassert bool
SensorEvent_State_6_Deassert bool
SensorEvent_State_5_Deassert bool
SensorEvent_State_4_Deassert bool
SensorEvent_State_3_Deassert bool
SensorEvent_State_2_Deassert bool
SensorEvent_State_1_Deassert bool
SensorEvent_State_0_Deassert bool
SensorEvent_UNR_High_Deassert bool
SensorEvent_UNR_Low_Deassert bool
SensorEvent_UCR_High_Deassert bool
SensorEvent_UCR_Low_Deassert bool
SensorEvent_State_14_Deassert bool
SensorEvent_State_13_Deassert bool
SensorEvent_State_12_Deassert bool
SensorEvent_State_11_Deassert bool
SensorEvent_State_10_Deassert bool
SensorEvent_State_9_Deassert bool
SensorEvent_State_8_Deassert bool
}
SensorEventFlag holds a struct with fields indicating the specified sensor event is set or not. SensorEventFlag was embedded in Sensor related commands.
func (*SensorEventFlag) TrueEvents ¶
func (flag *SensorEventFlag) TrueEvents() []SensorEvent
TrueEvents returns a slice of SensorEvent those are set to true in the SensorEventFlag.
type SensorEventMessageControl ¶
type SensorEventMessageControl uint8
SensorEventMessageControl indicates whether this sensor generates Event Messages, and if so, what type of Event Message control is offered.
const ( // per threshold/discrete-state event enable/disable control (implies // that entire sensor and global disable are also supported) SensorEventMessageControl_PerThresholdState SensorEventMessageControl = 0 // entire sensor only (implies that global disable is also supported) SensorEventMessageControl_EntireSensorOnly SensorEventMessageControl = 1 // global disable only SensorEventMessageControl_GlobalDisableOnly SensorEventMessageControl = 2 // no events from sensor SensorEventMessageControl_NoEvents SensorEventMessageControl = 3 )
func (SensorEventMessageControl) String ¶
func (a SensorEventMessageControl) String() string
type SensorEvents ¶
type SensorEvents []SensorEvent
func (SensorEvents) FilterAssert ¶
func (events SensorEvents) FilterAssert() SensorEvents
func (SensorEvents) FilterDeassert ¶
func (events SensorEvents) FilterDeassert() SensorEvents
func (SensorEvents) FilterDiscrete ¶
func (events SensorEvents) FilterDiscrete() SensorEvents
func (SensorEvents) FilterThreshold ¶
func (events SensorEvents) FilterThreshold() SensorEvents
func (SensorEvents) Strings ¶
func (events SensorEvents) Strings() []string
type SensorHysteresisAccess ¶
type SensorHysteresisAccess uint8
SensorHysteresisAccess represents the access mode for the hysteresis value of the sensor.
const ( // No hysteresis, or hysteresis built-in but not specified SensorHysteresisAccess_No SensorHysteresisAccess = 0 // hysteresis is readable. SensorHysteresisAccess_Readable SensorHysteresisAccess = 1 // hysteresis is readable and settable. SensorHysteresisAccess_ReadableSettable SensorHysteresisAccess = 2 // Fixed, unreadable, hysteresis. Hysteresis fields values implemented in the sensor. SensorHysteresisAccess_Fixed SensorHysteresisAccess = 3 )
func (SensorHysteresisAccess) String ¶
func (a SensorHysteresisAccess) String() string
type SensorInitialization ¶
type SensorInitialization struct {
// 1b = Sensor is settable (Support the Set Sensor Reading And Event Status command)
// 0b = Sensor is not settable
//
// using this bit to report settable sensors is optional.
// I.e. it is ok to report a settable sensor as 'not settable' in the
// SDR if it is desired to not report this capability to s/w
Settable bool
// 1b = enable scanning
//
// this bit=1 implies that the sensor
// accepts the 'enable/disable scanning' bit in the Set
// Sensor Event Enable command.
InitScanning bool
// 1b = enable events (per Sensor Event Message Control
// Support bits in Sensor Capabilities field, and per
// the Event Mask fields, below).
InitEvents bool
// 1b = initialize sensor thresholds (per settable threshold mask below).
InitThresholds bool
// 1b = initialize sensor hysteresis (per Sensor Hysteresis
// Support bits in the Sensor Capabilities field, below).
InitHysteresis bool
// 1b = initialize Sensor Type and Event / Reading Type code
InitSensorType bool
// 0b = event generation disabled, 1b = event generation enabled
EventGenerationEnabled bool
// 0b = sensor scanning disabled, 1b = sensor scanning enabled
SensorScanningEnabled bool
}
SDRs of Full/Compact record type has this field.
type SensorModifierRelation ¶
type SensorModifierRelation uint8
const ( SensorModifierRelation_None SensorModifierRelation = 0 SensorModifierRelation_Div SensorModifierRelation = 1 // Basic Unit / Modifier Unit SensorModifierRelation_Mul SensorModifierRelation = 2 // Basic Unit * Modifier Unit )
func (SensorModifierRelation) String ¶
func (unit SensorModifierRelation) String() string
type SensorNumber ¶
type SensorNumber uint8
see: Intel System Event Log (SEL) Troubleshooting Guide Rev 3.4 September 2019 section 3.1
type SensorRateUnit ¶
type SensorRateUnit uint8
const ( SensorRateUnit_None SensorRateUnit = 0 SensorRateUnit_PerMicroSec SensorRateUnit = 1 SensorRateUnit_PerMilliSec SensorRateUnit = 2 SensorRateUnit_PerSec SensorRateUnit = 3 SensorRateUnit_PerMin SensorRateUnit = 4 SensorRateUnit_PerHour SensorRateUnit = 5 SensorRateUnit_PerDay SensorRateUnit = 6 SensorRateUnit_Reserved SensorRateUnit = 7 )
func (SensorRateUnit) String ¶
func (unit SensorRateUnit) String() string
type SensorStatus ¶
type SensorStatus string
type SensorThreshold ¶
type SensorThreshold struct {
// type of threshold
Type SensorThresholdType
Mask Mask_Threshold
// threshold raw reading value before conversion
Raw uint8
}
SensorThreshold holds all values and attributes of a specified threshold type.
type SensorThresholdAccess ¶
type SensorThresholdAccess uint8
SensorThresholdAccess represents the access mode for the threshold value of the sensor.
const ( // no thresholds. SensorThresholdAccess_No SensorThresholdAccess = 0 // thresholds are readable, per Reading Mask SensorThresholdAccess_Readable SensorThresholdAccess = 1 // thresholds are readable and settable, per Reading Mask and Settable Threshold Mask, respectively. SensorThresholdAccess_ReadableSettable SensorThresholdAccess = 2 // Fixed, unreadable, thresholds. // Which thresholds are supported is reflected by the Reading Mask. // The threshold value fields report the values that are hard-coded in the sensor. SensorThresholdAccess_Fixed SensorThresholdAccess = 3 )
func (SensorThresholdAccess) String ¶
func (a SensorThresholdAccess) String() string
type SensorThresholdStatus ¶
type SensorThresholdStatus string
SensorThresholdStatus are enums for threshold status of sensor.
....UNR status (NonRecoverable) -----------------UNR threshold ....UCR status (Critical) -----------------UCR threshold ....UNC status (NonCritical) -----------------UNC threshold ....OK status (OK) -----------------LNC threshold ....LNC status (NonCritical) -----------------LCR threshold ....LCR status (Critical) -----------------LNR threshold ....LNR status (NonRecoverable)
type SensorThresholdType ¶
type SensorThresholdType string
SensorThresholdType are enums for types of threshold
const ( SensorThresholdType_LNC SensorThresholdType = "LowerNonCritical" SensorThresholdType_LCR SensorThresholdType = "LowerCritical" SensorThresholdType_LNR SensorThresholdType = "LowerNonRecoverable" SensorThresholdType_UNC SensorThresholdType = "UpperNonCritical" SensorThresholdType_UCR SensorThresholdType = "UpperCritical" SensorThresholdType_UNR SensorThresholdType = "UpperNonRecoverable" )
func (SensorThresholdType) Abbr ¶
func (sensorThresholdType SensorThresholdType) Abbr() string
type SensorThresholdTypes ¶
type SensorThresholdTypes []SensorThresholdType
func (SensorThresholdTypes) Strings ¶
func (types SensorThresholdTypes) Strings() []string
type SensorType ¶
type SensorType uint8
41.1 Sensor Type Code 42.2 Sensor Type Codes and Data
const ( SensorTypeReserved SensorType = 0x00 SensorTypeTemperature SensorType = 0x01 // 温度传感器 SensorTypeVoltage SensorType = 0x02 // 电压传感器 SensorTypeCurrent SensorType = 0x03 // 电流传感器 SensorTypeFan SensorType = 0x04 // 风扇传感器 SensorTypePhysicalSecurity SensorType = 0x05 // Chassis Intrusion SensorTypePlatformSecurity SensorType = 0x06 SensorTypeProcessor SensorType = 0x07 SensorTypePowerSupply SensorType = 0x08 SensorTypePowerUnit SensorType = 0x09 SensorTypeCollingDevice SensorType = 0x0a SensorTypeOtherUnitsbased SensorType = 0x0b SensorTypeMemory SensorType = 0x0c SensorTypeDriveSlot SensorType = 0x0d SensorTypePostMemoryResize SensorType = 0x0e SensorTypeSystemFirmwareProgress SensorType = 0x0f SensorTypeEventLoggingDisabled SensorType = 0x10 SensorTypeWatchdog1 SensorType = 0x11 SensorTypeSystemEvent SensorType = 0x12 SensorTypeCriticalInterrupt SensorType = 0x13 SensorTypeButtonSwitch SensorType = 0x14 SensorTypeModuleBoard SensorType = 0x15 SensorTypeMicrocontrollerCoprocessor SensorType = 0x16 SensorTypeAddinCard SensorType = 0x17 SensorTypeChassis SensorType = 0x18 SensorTypeChipSet SensorType = 0x19 SensorTypeOtherFRU SensorType = 0x1a SensorTypeCableInterconnect SensorType = 0x1b SensorTypeTerminator SensorType = 0x1c SensorTypeSystemBootRestartInitiated SensorType = 0x1d SensorTypeBootError SensorType = 0x1e SensorTypeBaseOSBootInstallationStatus SensorType = 0x1f SensorTypeOSStopShutdown SensorType = 0x20 SensorTypeSlotConnector SensorType = 0x21 SensorTypeSystemACPIPowerState SensorType = 0x22 SensorTypeWatchdog2 SensorType = 0x23 SensorTypePlatformAlert SensorType = 0x24 SensorTypeEntityPresence SensorType = 0x25 SensorTypeMonitorASIC SensorType = 0x26 SensorTypeLAN SensorType = 0x27 SensorTypeManagementSubsystemHealth SensorType = 0x28 SensorTypeBattery SensorType = 0x29 SensorTypeSessionAudit SensorType = 0x2a SensorTypeVersionChange SensorType = 0x2b SensorTypeFRUState SensorType = 0x2c )
func SensorTypeFromNameOrNumber ¶
func SensorTypeFromNameOrNumber(sensorTypeNameOrNumber string) (SensorType, error)
func (SensorType) String ¶
func (c SensorType) String() string
type SensorUnit ¶
type SensorUnit struct {
AnalogDataFormat SensorAnalogUnitFormat
RateUnit SensorRateUnit
ModifierRelation SensorModifierRelation
Percentage bool // Percentage 0b = no, 1b = yes
BaseUnit SensorUnitType
ModifierUnit SensorUnitType
}
func (SensorUnit) IsAnalog ¶
func (unit SensorUnit) IsAnalog() bool
func (SensorUnit) String ¶
func (unit SensorUnit) String() string
type SensorUnitType ¶
type SensorUnitType uint8
43.17 Sensor Unit Type Codes
const ( SensorUnitType_Unspecified SensorUnitType = 0 // unspecified SensorUnitType_DegreesC SensorUnitType = 1 // degrees C, Celsius, 摄氏度 ℃ SensorUnitType_DegreesF SensorUnitType = 2 // degrees F, Fahrenheit, 华氏度 SensorUnitType_DegreesK SensorUnitType = 3 // degrees K, Kelvins, 开尔文 SensorUnitType_Volts SensorUnitType = 4 // Volts, 伏特(电压单位) SensorUnitType_Amps SensorUnitType = 5 // Amps, 安培数 SensorUnitType_Watts SensorUnitType = 6 // Watts, 瓦特(功率单位) SensorUnitType_Joules SensorUnitType = 7 // Joules, 焦耳 SensorUnitType_Coulombs SensorUnitType = 8 // Coulombs, 库伦 SensorUnitType_VA SensorUnitType = 9 // VA, 伏安 SensorUnitType_Nits SensorUnitType = 10 // Nits, 尼特(光度单位) SensorUnitType_Lumen SensorUnitType = 11 // lumen, 流明(光通量单位) SensorUnitType_Lux SensorUnitType = 12 // lux, 勒克斯(照明单位) SensorUnitType_Candela SensorUnitType = 13 // Candela, 坎,坎德拉(发光强度单位) SensorUnitType_KPa SensorUnitType = 14 // kPa kilopascal, 千帕,千帕斯卡 SensorUnitType_PSI SensorUnitType = 15 // PSI SensorUnitType_Newton SensorUnitType = 16 // Newton, 牛顿(力的单位) SensorUnitType_CFM SensorUnitType = 17 // CFM, 风量,cubic feet per minute (cu ft/min) SensorUnitType_RPM SensorUnitType = 18 // RPM, 每分钟转数,Revolutions per minute, is the number of turns in one minute SensorUnitType_Hz SensorUnitType = 19 // Hz, 赫兹 SensorUnitType_MicroSecond SensorUnitType = 20 // microsecond, 微秒 SensorUnitType_MilliSecond SensorUnitType = 21 // millisecond, 毫秒 SensorUnitType_Second SensorUnitType = 22 // second, 秒 SensorUnitType_Minute SensorUnitType = 23 // minute, 分 SensorUnitType_Hour SensorUnitType = 24 // hour, 时 SensorUnitType_Day SensorUnitType = 25 // day, 日 SensorUnitType_Week SensorUnitType = 26 // week, 周 SensorUnitType_Mil SensorUnitType = 27 // mil, 毫升;密耳(千分之一寸) SensorUnitType_Inches SensorUnitType = 28 // inches, 英寸(inch 的复数) SensorUnitType_Fleet SensorUnitType = 29 // feet SensorUnitType_CuIn SensorUnitType = 30 // cu in, 立方英寸(cubic inch) SensorUnitType_CuFleet SensorUnitType = 31 // cu feet SensorUnitType_MM SensorUnitType = 32 // mm, 毫米(millimeter) SensorUnitType_CM SensorUnitType = 33 // cm, 厘米(centimeter) SensorUnitType_M SensorUnitType = 34 // m, 米 SensorUnitType_CuCM SensorUnitType = 35 // cu cm SensorUnitType_Cum SensorUnitType = 36 // cum SensorUnitType_Liters SensorUnitType = 37 // liters, 公升(容量单位) SensorUnitType_FluidOunce SensorUnitType = 38 // fluid ounce, 液盎司(液体容量单位,等于 fluidounce) SensorUnitType_Radians SensorUnitType = 39 // radians, 弧度(radian 的复数) SensorUnitType_vSteradians SensorUnitType = 40 // steradians, 球面度,立体弧度(立体角国际单位制,等于 sterad) SensorUnitType_Revolutions SensorUnitType = 41 // revolutions, 转数(revolution 的复数形式) SensorUnitType_Cycles SensorUnitType = 42 // cycles, 周期,圈 SensorUnitType_Gravities SensorUnitType = 43 // gravities, 重力 SensorUnitType_Ounce SensorUnitType = 44 // ounce, 盎司 SensorUnitType_Pound SensorUnitType = 45 // pound, 英镑 SensorUnitType_FootPound SensorUnitType = 46 // ft-lb, 英尺 - 磅(foot pound) SensorUnitType_OzIn SensorUnitType = 47 // oz-in, 扭力;盎司英寸 SensorUnitType_Gauss SensorUnitType = 48 // gauss, 高斯(磁感应或磁场的单位) SensorUnitType_Gilberts SensorUnitType = 49 // gilberts, 吉伯(磁通量的单位) SensorUnitType_Henry SensorUnitType = 50 // henry, 亨利(电感单位) SensorUnitType_MilliHenry SensorUnitType = 51 // millihenry, 毫亨(利)(电感单位) SensorUnitType_Farad SensorUnitType = 52 // farad, 法拉(电容单位) SensorUnitType_MicroFarad SensorUnitType = 53 // microfarad, 微法拉(电容量的实用单位) SensorUnitType_Ohms SensorUnitType = 54 // ohms, 欧姆(Ohm) :电阻的量度单位,欧姆值越大,电阻越大 SensorUnitType_Siemens SensorUnitType = 55 // siemens, 西门子,电导单位 SensorUnitType_Mole SensorUnitType = 56 // mole, 摩尔 [化学] 克分子(等于 mole) SensorUnitType_Becquerel SensorUnitType = 57 // becquerel, 贝可(放射性活度单位) SensorUnitType_PPM SensorUnitType = 58 // PPM (parts/million), 百万分率,百万分之…(parts per million) SensorUnitType_Reserved SensorUnitType = 59 // reserved SensorUnitType_Decibels SensorUnitType = 60 // Decibels, 分贝(声音强度单位,decibel 的复数) SensorUnitType_DbA SensorUnitType = 61 // DbA, dBA is often used to specify the loudness of the fan used to cool the microprocessor and associated components. Typical dBA ratings are in the neighborhood of 25 dBA, representing 25 A-weighted decibels above the threshold of hearing. This is approximately the loudness of a person whispering in a quiet room. SensorUnitType_DbC SensorUnitType = 62 // DbC SensorUnitType_Gray SensorUnitType = 63 // gray, 核吸收剂量 (Gy) SensorUnitType_Sievert SensorUnitType = 64 // sievert, 希沃特(辐射效果单位,简称希) SensorUnitType_ColorTempDegK SensorUnitType = 65 // color temp deg K, 色温 SensorUnitType_Bit SensorUnitType = 66 // bit, 比特(二进位制信息单位) SensorUnitType_Kilobit SensorUnitType = 67 // kilobit, 千比特 SensorUnitType_Megabit SensorUnitType = 68 // megabit, 兆比特 SensorUnitType_Gigabit SensorUnitType = 69 // gigabit, 吉比特 SensorUnitType_Byte SensorUnitType = 70 // byte, 字节 SensorUnitType_Kilobyte SensorUnitType = 71 // kilobyte, 千字节 SensorUnitType_Megabyte SensorUnitType = 72 // megabyte, 兆字节 SensorUnitType_Gigabyte SensorUnitType = 73 // gigabyte, 吉字节 SensorUnitType_Word SensorUnitType = 74 // word (data), 字 SensorUnitType_DWord SensorUnitType = 75 // dword, 双字 SensorUnitType_QWord SensorUnitType = 76 // qword, 四字 SensorUnitType_Line SensorUnitType = 77 // line (re. mem. line) SensorUnitType_Hit SensorUnitType = 78 // hit, 命中 SensorUnitType_Miss SensorUnitType = 79 // miss, 未击中,未命中 SensorUnitType_Retry SensorUnitType = 80 // retry, 重试(次数) SensorUnitType_Reset SensorUnitType = 81 // reset, 重置(次数) SensorUnitType_Overrun SensorUnitType = 82 // overrun) / overflow 满载,溢出(次数) SensorUnitType_Underrun SensorUnitType = 83 // underrun 欠载 SensorUnitType_Collision SensorUnitType = 84 // collision, 冲突 SensorUnitType_Packet SensorUnitType = 85 // packets, 包,数据包 SensorUnitType_Message SensorUnitType = 86 // messages, 消息 SensorUnitType_Characters SensorUnitType = 87 // characters, 字符 SensorUnitType_Error SensorUnitType = 88 // error, 错误 SensorUnitType_CorrectableError SensorUnitType = 89 // correctable error 可校正错误 SensorUnitType_UncorrectableError SensorUnitType = 90 // uncorrectable error 不可校正错误 SensorUnitType_FatalError SensorUnitType = 91 // fatal error, 致命错误,不可恢复的错误 SensorUnitType_Grams SensorUnitType = 92 // grams, 克(gram 的复数形式) )
func (SensorUnitType) String ¶
func (u SensorUnitType) String() string
type Session15 ¶
type Session15 struct {
SessionHeader15 *SessionHeader15
Payload []byte
// legacy PAD not needed for IPMI v2.0
LegacyPAD byte
}
type Session20 ¶
type Session20 struct {
SessionHeader20 *SessionHeader20
// for encrypted packets, it should contain Confidentiality Header, Encrypted Payload, and Confidentiality Trailer.
SessionPayload []byte
// For IPMI v2.0 RMCP+ packets, the IPMI Session Trailer is absent whenever the Session ID is 0000_0000h, or whenever bit 6 in the payload type field indicates the packet is unauthenticated.
SessionTrailer *SessionTrailer
}
type SessionHeader15 ¶
type SessionHeader15 struct {
// For IPMI 1.5, its value is 00h, 01h, 02h, 04h, 05h
AuthType AuthType
// For IPMI v2.0 RMCP+ there are separate sequence numbers tracked for authenticated and unauthenticated packets.
// 0000_0000h is used for packets that are sent outside of a session.
Sequence uint32
SessionID uint32
// The Authentication Code field in the session header may or may not be present based on the Authentication Type.
// The authentication code field is absent whenever the Authentication Type is NONE.
// Whether the authentication code field is present or not when the Authentication Type = OEM is dependent on
// the OEM identified in the Get Channel Authentication Capabilities command.
//
// 16 bytes, not present when Authentication Type set to none
AuthCode []byte // IPMI 1.5
// Payload length in bytes. 1-based.
// IPMI 1.5 should be uint8
// You should construct SessionHeader after the payload is created, thus you can fill the length here.
PayloadLength uint8
}
SessionHeader15 for IPMI 1.5 see 22.12, Table 13.
Whether the session header fields are present in a packet is based on whether the channel is specified as supporting multiple sessions or not. In addition, which session fields are present is based on the authentication type. Single-session connections and session-less channels do not include session header fields.
Session header fields are present on all packets where the channel and connection mode is specified as supporting multiple sessions, even if the particular implementation only supports one session.
Note that the command tables do not show the session header fields except for the Get Channel Authentication Capabilities, Get Session Challenge, and Activate Session commands. However, they are still required for all commands on a multi-session connection.
func (*SessionHeader15) Pack ¶
func (h *SessionHeader15) Pack() []byte
func (*SessionHeader15) Unpack ¶
func (h *SessionHeader15) Unpack(msg []byte) error
type SessionHeader20 ¶
type SessionHeader20 struct {
// For IPMI 2.0, its value is always 06h
AuthType AuthType
PayloadEncrypted bool
PayloadAuthenticated bool
PayloadType PayloadType
// The complete identification of an OEM Payload is given by the combination of a three-byte IANA ID for the OEM, a reserved byte, plus a two-byte OEM Payload ID that is assigned and defined by the given OEM
OEMIANA uint32
OEMPayloadID uint16
// Should be set to bmcSessionID (generated by bmc, cached by remote console)
SessionID uint32
// For IPMI v2.0 RMCP+ there are separate sequence numbers tracked for authenticated and unauthenticated packets.
// 0000_0000h is used for packets that are sent outside of a session.
Sequence uint32
// Payload length in bytes. 1-based.
// You should construct SessionHeader after the payload is created, thus you can fill the length here.
// IPMI 2.0 should be uint16
PayloadLength uint16
}
SessionHeader20 for IPMI 2.0
func (*SessionHeader20) Pack ¶
func (h *SessionHeader20) Pack() []byte
func (*SessionHeader20) Unpack ¶
func (h *SessionHeader20) Unpack(msg []byte) error
type SessionState ¶
type SessionState uint8
const ( SessionStatePreSession SessionState = 0x00 SessionStateOpenSessionSent SessionState = 0x01 SessionStateOpenSessionReceived SessionState = 0x02 SessionStateRakp1Sent SessionState = 0x03 SessionStateRakp2Received SessionState = 0x04 SessionStateRakp3Sent SessionState = 0x05 SessionStateActive SessionState = 0x06 SessionStateCloseSent SessionState = 0x07 )
type SessionTrailer ¶
type SessionTrailer struct {
// Added as needed to cause the number of bytes in the data range covered by the AuthCode (Integrity Data) field to be a multiple of 4 bytes (DWORD). If present, each Integrity Pad byte is set to FFh.
IntegrityPAD []byte
// indicates how many pad bytes were added so that the amount of non-pad data can be determined.
PadLength uint8
// Reserved in IPMI v2.0. Set to 07h for RMCP+ packets defined in this specification.
NextHeader uint8
// For IPMI v2.0 (RMCP+) if this field is present, then it is calculated according to the Integrity Algorithm that was negotiated during the session open process.
// This field is absent when the packet is unauthenticated.
AuthCode []byte // Integrity Data
}
For IPMI v2.0 RMCP+ packets, the IPMI Session Trailer is absent whenever the Session ID is 0000_0000h, or whenever bit 6 in the payload type field indicates the packet is unauthenticated
func (*SessionTrailer) Pack ¶
func (s *SessionTrailer) Pack() []byte
type SetInProgressState ¶
type SetInProgressState uint8
const ( SetInProgress_SetComplete SetInProgressState = 0x00 SetInProgress_SetInProgress SetInProgressState = 0x01 SetInProgress_CommitWrite SetInProgressState = 0x02 SetInProgress_Reserved SetInProgressState = 0x03 )
func (SetInProgressState) String ¶
func (p SetInProgressState) String() string
type SoftwareID ¶
type SoftwareID uint8
5.4 Sensor Owner Identification the "owner" of the sensor. The combination of Sensor Owner ID and Sensor Number uniquely identify a sensor in the system. the Sensor Data Record and SEL information must contain information to identify the "owner" of the sensor.
For management controllers, a Slave Address and LUN identify the owner of a sensor on the IPMB.
For system software, a Software ID identifies the owner of a sensor.
These fields are used in Event Messages, where events from management controllers or the IPMB are identified by an eight-bit field where the upper 7-bits are the Slave Address or System Software ID.
The least significant bit is a 0 if the value represents a Slave Address and a 1 if the value represents a System Software ID. So all Software IDs are odd numbers (because the bit 0 is fixed to 1b), and all slave addresses are even numbers (because bit 0 is fixed to 0b)
5.5 Software IDs (SWIDs)
func (SoftwareID) Type ¶
func (i SoftwareID) Type() SoftwareType
type SoftwareType ¶
type SoftwareType string
const ( SoftwareTypeBIOS SoftwareType = "BIOS" SoftwareTypeSMIHandler SoftwareType = "SMI Handler" SoftwareTypeSMS SoftwareType = "System Management Software" SoftwareTypeOEM SoftwareType = "OEM" SoftwareTypeRCS SoftwareType = "Remote Console Software" SoftwareTypeTerminalRCS SoftwareType = "Terminal Mode Remote Console Software" SoftwareTypeReserved SoftwareType = "Reserved" )
type SystemInfo ¶
type SystemInfo struct {
SetInProgress SetInProgressState
SystemFirmwareVersion string
SystemName string
PrimaryOSName string
OSName string
OSVersion string
BMCURL string
ManagementURL string
}
func (*SystemInfo) Format ¶
func (systemInfo *SystemInfo) Format() string
type SystemInfoParamSelector ¶
type SystemInfoParamSelector uint8
const ( SystemInfoParamSelector_SetInProgress SystemInfoParamSelector = 0 SystemInfoParamSelector_SystemFirmwareVersion SystemInfoParamSelector = 1 SystemInfoParamSelector_SystemName SystemInfoParamSelector = 2 SystemInfoParamSelector_PrimaryOSName SystemInfoParamSelector = 3 SystemInfoParamSelector_OSName SystemInfoParamSelector = 4 SystemInfoParamSelector_OSVersion SystemInfoParamSelector = 5 SystemInfoParamSelector_BMCURL SystemInfoParamSelector = 6 SystemInfoParamSelector_ManagementURL SystemInfoParamSelector = 7 )
func (SystemInfoParamSelector) String ¶
func (paramSelector SystemInfoParamSelector) String() string
type SystemInfoParam_BMCURL ¶
func (*SystemInfoParam_BMCURL) Format ¶
func (p *SystemInfoParam_BMCURL) Format() string
func (*SystemInfoParam_BMCURL) Pack ¶
func (p *SystemInfoParam_BMCURL) Pack() []byte
func (*SystemInfoParam_BMCURL) SystemInfoParameter ¶
func (p *SystemInfoParam_BMCURL) SystemInfoParameter() (paramSelector SystemInfoParamSelector, setSelector uint8, blockSelector uint8)
func (*SystemInfoParam_BMCURL) Unpack ¶
func (p *SystemInfoParam_BMCURL) Unpack(data []byte) error
type SystemInfoParam_ManagementURL ¶
func (*SystemInfoParam_ManagementURL) Format ¶
func (p *SystemInfoParam_ManagementURL) Format() string
func (*SystemInfoParam_ManagementURL) Pack ¶
func (p *SystemInfoParam_ManagementURL) Pack() []byte
func (*SystemInfoParam_ManagementURL) SystemInfoParameter ¶
func (p *SystemInfoParam_ManagementURL) SystemInfoParameter() (paramSelector SystemInfoParamSelector, setSelector uint8, blockSelector uint8)
func (*SystemInfoParam_ManagementURL) Unpack ¶
func (p *SystemInfoParam_ManagementURL) Unpack(data []byte) error
type SystemInfoParam_OSName ¶
func (*SystemInfoParam_OSName) Format ¶
func (p *SystemInfoParam_OSName) Format() string
func (*SystemInfoParam_OSName) Pack ¶
func (p *SystemInfoParam_OSName) Pack() []byte
func (*SystemInfoParam_OSName) SystemInfoParameter ¶
func (p *SystemInfoParam_OSName) SystemInfoParameter() (paramSelector SystemInfoParamSelector, setSelector uint8, blockSelector uint8)
func (*SystemInfoParam_OSName) Unpack ¶
func (p *SystemInfoParam_OSName) Unpack(data []byte) error
type SystemInfoParam_OSVersion ¶
func (*SystemInfoParam_OSVersion) Format ¶
func (p *SystemInfoParam_OSVersion) Format() string
func (*SystemInfoParam_OSVersion) Pack ¶
func (p *SystemInfoParam_OSVersion) Pack() []byte
func (*SystemInfoParam_OSVersion) SystemInfoParameter ¶
func (p *SystemInfoParam_OSVersion) SystemInfoParameter() (paramSelector SystemInfoParamSelector, setSelector uint8, blockSelector uint8)
func (*SystemInfoParam_OSVersion) Unpack ¶
func (p *SystemInfoParam_OSVersion) Unpack(data []byte) error
type SystemInfoParam_PrimaryOSName ¶
func (*SystemInfoParam_PrimaryOSName) Format ¶
func (p *SystemInfoParam_PrimaryOSName) Format() string
func (*SystemInfoParam_PrimaryOSName) Pack ¶
func (p *SystemInfoParam_PrimaryOSName) Pack() []byte
func (*SystemInfoParam_PrimaryOSName) SystemInfoParameter ¶
func (p *SystemInfoParam_PrimaryOSName) SystemInfoParameter() (paramSelector SystemInfoParamSelector, setSelector uint8, blockSelector uint8)
func (*SystemInfoParam_PrimaryOSName) Unpack ¶
func (p *SystemInfoParam_PrimaryOSName) Unpack(data []byte) error
type SystemInfoParam_SetInProgress ¶
type SystemInfoParam_SetInProgress struct {
Value SetInProgressState
}
func (*SystemInfoParam_SetInProgress) Format ¶
func (p *SystemInfoParam_SetInProgress) Format() string
func (*SystemInfoParam_SetInProgress) Pack ¶
func (p *SystemInfoParam_SetInProgress) Pack() []byte
func (*SystemInfoParam_SetInProgress) SystemInfoParameter ¶
func (p *SystemInfoParam_SetInProgress) SystemInfoParameter() (paramSelector SystemInfoParamSelector, setSelector uint8, blockSelector uint8)
func (*SystemInfoParam_SetInProgress) Unpack ¶
func (p *SystemInfoParam_SetInProgress) Unpack(data []byte) error
type SystemInfoParam_SystemFirmwareVersion ¶
func (*SystemInfoParam_SystemFirmwareVersion) Format ¶
func (p *SystemInfoParam_SystemFirmwareVersion) Format() string
func (*SystemInfoParam_SystemFirmwareVersion) Pack ¶
func (p *SystemInfoParam_SystemFirmwareVersion) Pack() []byte
func (*SystemInfoParam_SystemFirmwareVersion) SystemInfoParameter ¶
func (p *SystemInfoParam_SystemFirmwareVersion) SystemInfoParameter() (paramSelector SystemInfoParamSelector, setSelector uint8, blockSelector uint8)
func (*SystemInfoParam_SystemFirmwareVersion) Unpack ¶
func (p *SystemInfoParam_SystemFirmwareVersion) Unpack(data []byte) error
type SystemInfoParam_SystemName ¶
func (*SystemInfoParam_SystemName) Format ¶
func (p *SystemInfoParam_SystemName) Format() string
func (*SystemInfoParam_SystemName) Pack ¶
func (p *SystemInfoParam_SystemName) Pack() []byte
func (*SystemInfoParam_SystemName) SystemInfoParameter ¶
func (p *SystemInfoParam_SystemName) SystemInfoParameter() (paramSelector SystemInfoParamSelector, setSelector uint8, blockSelector uint8)
func (*SystemInfoParam_SystemName) Unpack ¶
func (p *SystemInfoParam_SystemName) Unpack(data []byte) error
type SystemInfoParameter ¶
type SystemInfoParameter interface {
SystemInfoParameter() (paramSelector SystemInfoParamSelector, setSelector uint8, blockSelector uint8)
Parameter
}
type SystemInfoParams ¶
type SystemInfoParams struct {
SetInProgress *SystemInfoParam_SetInProgress
SystemFirmwareVersions []*SystemInfoParam_SystemFirmwareVersion
SystemNames []*SystemInfoParam_SystemName
PrimaryOSNames []*SystemInfoParam_PrimaryOSName
OSNames []*SystemInfoParam_OSName
OSVersions []*SystemInfoParam_OSVersion
BMCURLs []*SystemInfoParam_BMCURL
ManagementURLs []*SystemInfoParam_ManagementURL
}
func (*SystemInfoParams) Format ¶
func (systemInfoParams *SystemInfoParams) Format() string
func (*SystemInfoParams) ToSystemInfo ¶
func (systemInfoParams *SystemInfoParams) ToSystemInfo() *SystemInfo
type TypeLength ¶
type TypeLength uint8
43.15 Type/Length Byte Format
7:6 00 = Unicode
00b define a Unicode string in the IPMI specification,
whereas they specify a binary field in the Platform Management FRU specification.
01 = BCD plus (see below)
10 = 6-bit ASCII, packed
11 = 8-bit ASCII + Latin 1.
At least two bytes of data must be present when this type is used.
Therefore, the length (number of data bytes) will be >1 if data is present,
0 if data is not present. A length of 1 is reserved.
5 reserved.
the bit 5 is reserved in the IPMI specification type/length byte,
where it is part of the length field in the Platform Management FRU specification
4:0 length of following data, in characters.
00000b indicates 'none following'.
11111b = reserved.
func (TypeLength) Chars ¶
func (tl TypeLength) Chars(raw []byte) (chars []byte, err error)
Chars decodes the raw bytes to ASCII chars according to the encoding type code of TypeLength
func (TypeLength) Length ¶
func (tl TypeLength) Length() uint8
Length returns the length of bytes occupied that packed the chars. But it is not the length of chars. For BCD plus type, one byte packs two chars.
func (TypeLength) String ¶
func (tl TypeLength) String() string
func (TypeLength) Type ¶
func (tl TypeLength) Type() string
func (TypeLength) TypeCode ¶
func (tl TypeLength) TypeCode() uint8
Source Files
¶
- errors.go
- helpers.go
- types_boot_option.go
- types_boot_option_params.go
- types_channel.go
- types_cipher_suite_id.go
- types_command.go
- types_completion_code.go
- types_dcmi.go
- types_dcmi_cap_params.go
- types_dcmi_config_params.go
- types_entity.go
- types_event.go
- types_event_consts.go
- types_fru.go
- types_fru_codec.go
- types_fru_pack.go
- types_generator.go
- types_guid.go
- types_ipmb.go
- types_ipmi.go
- types_lan_config.go
- types_lan_config_params.go
- types_netfn.go
- types_oem.go
- types_payload.go
- types_pef.go
- types_pef_params.go
- types_rmcp.go
- types_sdr.go
- types_sdr_codec.go
- types_sdr_compact.go
- types_sdr_full.go
- types_sdr_others.go
- types_sdr_pack.go
- types_sel.go
- types_sensor.go
- types_sensor_event.go
- types_session.go
- types_sol_config_params.go
- types_sol_payload.go
- types_system_info_params.go