【已评审】新增获取IPMI通道信息资源协作接口方法

背景

标准 IPMI 命令 Get Channel Info Command 的响应中包含会话信息及通道信息,当前实现在 ipmi_core 组件,该模块无法提供会话信息,当前实现会话信息部分填写为默认值。
方案确定将标准 IPMI 命令 Get Channel Info Command 的实现迁移到 rmcpd 组件,该组件可获取到正确的会话信息,并可以通过 ipmi_core 组件提供的资源协作接口获取通道信息。

关联ISSUE

暂无

整体方案

ipmi_core 组件新增资源协作接口方法,用于获取指定通道的信息。同时提供全部IPMI通道的获取能力(采用默认值方式)。

评审点

新增资源协作接口方法 GetIPMIChannel

详细描述

资源path(已有): /bmc/kepler/IpmiCore
资源interface(已有): bmc.kepler.IpmiCore
方法(新增): GetIPMIChannel

取值及说明
方法名称 GetIPMIChannel
方法描述 获取IPMI通道信息
方法权限 ReadOnly
请求签名 y
请求参数 ChannelNumber:通道编号,采用默认值0xFF表示获取所有通道的信息
响应签名 a(a{sy})
响应参数 通道信息,数组内元素为具体每个通道的信息,每个通道的具体信息包括:
InternalNumber:对内通道编号
ExternalNumber:对外通道编号
ProtocolType:协议类型,参考 IPMI 2.0 规范 6.4 章节
MediumType:媒体类型,参考 IPMI 2.0 规范 6.5 章节
ChannelType:通道类型
Instance:通道实例

评审结论

同意在 /bmc/kepler/IpmiCorebmc.kepler.IpmiCore 接口下新增 GetIPMIChannel方法,方法权限为 ReadOnly,请求签名为 y,参数为 ChannelNumber表示通道编号,响应签名为 a(a{sy}),参数为通道信息,表示每个通道具体的信息,具体包含 InternalNumberExternalNumberProtocolTypeMediumTypeChannelTypeInstance 信息。

遗留问题