【待评审】支持双网口场景channel配置及定制化评审

背景介绍:
诉求: BMC双网口场景,eth0固定为NCSI口,eth2固定为专用口,双网口有独立IP。该场景两个网口分别会作为一个IPMI的LAN通道,需要支持CSR配置以及定制会对应LAN通道的channel nunmber。
现状: 由于ipmi相关组件内部已经固定分配LAN2的channel number为2,channel number 8也被用作其他通道,预期LAN2的channel number配置为8,且可支持定制。
差距: 由于业务内部已经写死通道号,直接修改适配会有兼容性问题。
方案: 直接在IPMI服务前后增加一个映射层,用于将对外channel number与内部使用的channel number做转换,比如:要将NCSI口channel number设置为8,内部写死为2,则在映射层做转化:场景一,在rmcp服务收到NCSI口的报文后,将上下文中的channel number设置为2;场景二,ipmi命令req中的channel number在使用时做一次映射转换,有8转换为2,后再使用该参数进行业务处理,rsp的处理也是类似;

基于以上背景,有以下两个评审点:

评审点一:新增资源协作接口用于承载channel nunber映射相关对象

资源path:/bmc/kepler/IpmiService/ChannelNumberTranslation/:Id(备选:/bmc/kepler/IpmiService/ChannelNumberForward/:Id)(新增path)

资源interface:bmc.kepler.IpmiService.ChannelNumberTranslation(备选:bmc.kepler.IpmiService.ChannelNumberForward)(新增interface)

变化类型:新增资源协作接口及相关属性和方法

应用场景:

  1. 生产装备场景,定制ipmi通道号
  2. 业务流程中将外部channel number转换为内部使用的channel number

详细描述:

属性名称 变化类型 签名 访问权限 持久化 变化通知 属性值来源 说明 约束
SourceChannelNumber(备选:ExternalChannelNumber) 新增属性 y 读:ReadOnly
写:BasicSetting
掉电 true PSR 源通道号/对外的通道号 取值范围 [1, 11]
DestinationChannelNumber(备选:InternalChannelNumber) 新增属性 y 读:ReadOnly
写:不支持
false PSR 目的通道号/对内的通道号 取值范围 [1, 11]

评审点二:新增定制化项用于定制NCSI口LAN通道channel number

说明
定制化项名称 Custom_NCSILanChannelNumber
归属组件 ipmi_core
类型 integer
默认值
处理逻辑 if(Custom_NCSILanChannelNumber != 空)
 NCSI口LAN通道的通道号设置为Custom_NCSILanChannelNumber
else
 无动作
说明 取值范围 [1, 11]

@L_Ling 当前评审需要答复和闭环以下问题:

问题1:背景介绍请按照评审的发帖模板,拆分成为 现状诉求差距方案进行描述
问题2:评审接口 bmc.kepler.IpmiService.ChannelNumberTranslation 以及属性说明太简单,按照评审模板进行补充