背景
标准 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/IpmiCore 的 bmc.kepler.IpmiCore 接口下新增 GetIPMIChannel方法,方法权限为 ReadOnly,请求签名为 y,参数为 ChannelNumber表示通道编号,响应签名为 a(a{sy}),参数为通道信息,表示每个通道具体的信息,具体包含 InternalNumber、 ExternalNumber、 ProtocolType、 MediumType、 ChannelType、 Instance 信息。
遗留问题
无