新增交换FMEA和Trunk资源树接口

背景

新增资源树接口管理交换芯片,增加对交换芯片的调试方法,增加FMEA告警能力和调试接口,以满足BMC对交换芯片的管控.

关联ISSUE

整体方案

  • Debug目录下新增资源协作路径和接口,用于lsw_main组件实现对单板交换芯片的配置及查询,其中该方法具体实现细节由组件内部进行封装, 开发、测试可通过mdbctl命令完成LSWM相关功能测试。
  • kepler目录下新增资源协作接口及路径专门用于lsw_main组件实现对单板交换芯片的配置及查询,其中该方法具体实现细节由组件内部进行封装,客户及现网维护可通过ipmc命令对单板交换芯片进行配置及查询。

评审点

  1. 新增资源协作接口bmc.kepler.Debug.LswMain.TrunkMgmt,新增对交换芯片Trunk管理能力的调试方法;
  2. 变更资源协作接口bmc.kepler.Debug.LswMain.LswMainDebug,新增对交换芯片ACL规则管理的调试方法,变更IIC读写数据方法的请求参数类型;
  3. 变更资源协作接口bmc.kepler.Debug.LswMain.PortMgmt,新增查询/设置端口默认Vlan的调试方法;
  4. 新增资源协作接口bmc.kepler.Debug.LswMain.FmeaMgmt,新增对交换芯片故障管理的调试方法;
  5. 新增资源协作接口bmc.kepler.Switch.Event, 新增对交换芯片端口Link故障和芯片故障告警相关属性;
  6. 新增资源协作接口bmc.kepler.Switch.Fmea,新增对交换芯片故障检测项设置/查询的方法;

详细描述

评审点1:新增资源协作接口 bmc.kepler.Debug.LswMain.TrunkMgmt

接口描述:新增接口用于调试交换芯片的Trunk管理能力。

新增方法

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
CreateTrunk y TrunkId: Trunk端口ID b Result: 方法执行成功或失败 创建一个Trunk端口 BasicSetting
DeleteTrunk y TrunkId: Trunk端口ID b Result: 方法执行成功或失败 删除一个Trunk端口 BasicSetting
GetTrunk - - ay TrunkId: Trunk端口ID列表 查询已创建的Trunk端口ID ReadOnly
GetTrunkPorts y TrunkId: Trunk端口ID as Ports: 端口列表 获取指定Trunk端口的成员端口列表 ReadOnly
GetAllTrunkPorts - - a{yas} TrunkId: Trunk端口ID
Ports: 端口列表
获取所有Trunk端口的成员端口列表 ReadOnly
AddPorts2Trunk yas TrunkId: Trunk端口ID
Ports: 端口列表
b Result: 方法执行成功或失败 添加成员端口到Trunk BasicSetting
DelPortsFromTrunk yas TrunkId: Trunk端口ID
Ports: 端口列表
b Result: 方法执行成功或失败 从Trunk删除成员端口 BasicSetting
GetLoadBalanceMode yy TrunkId: Trunk端口ID
PktType: 报文类型
u Mode: 负载均衡模式 获取Trunk端口指定报文类型的负载均衡模式 ReadOnly
SetLoadBalanceMode yyu TrunkId: Trunk端口ID
PktType: 报文类型
Mode: 负载均衡模式
b Result: 方法执行成功或失败 设置Trunk端口指定报文类型的负载均衡模式 BasicSetting

新增接口影响

路径 新增接口影响 CSR配置影响 持久化影响 其他影响
/bmc/kepler/Debug/LswMain 新增对交换芯片Trunk管理的调试方法 不涉及重名属性,无影响 不涉及持久化,无影响 需实现新增方法,属性当前暂不实现,仅提供默认值

评审点2:变更资源协作接口 bmc.kepler.Debug.LswMain.LswMainDebug

变更描述

  • 接口承载了交换芯片pcie通道、phy等模块的调试功能,新增方法属于调试功能的一部分;
  • IICReadDataIICWriteData请求签名变更使寄存器地址参数的数据宽度有U32调整为U64,在保证原功能不受影响的基础上,具备更好的可扩展性;

接口链接bmc.kepler.Debug.LswMain.LswMainDebug接口定义

变更方法

变更类型 方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限 变更影响
新增 DiagCmd s 维测命令行具体命令 u 命令行执行结果 执行维测命令 BasicSetting 新增方法,无影响
新增 SetAclTable uussuuss AclNum:Acl编号
RuleId:Acl规则索引
SMac:源MAC
DMac:目的MAC
EthType:以太类型
VlanId:Vlan Id
Port:端口名称
RuleAction:匹配动作
b Result: 命令行执行结果 配置ACL规则 BasicSetting 新增方法,无影响
新增 GetAclTable s AclNum:Acl编号 s AclTable: ACL表 获取ACL表 ReadOnly 新增方法,无影响
新增 DelAclRule uu AclNum:Acl编号
RuleId:Acl规则索引
b Result: 命令行执行结果 删除指定ACL规则 BasicSetting 新增方法,无影响
新增 GetAclStatistics s AclNum:Acl编号 s Statistics:统计数 获取ACL规则统计 ReadOnly 新增方法,无影响
新增 ClearAclStatistics uu AclNum:Acl编号
RuleId:Acl规则索引
b Result: 命令行执行结果 清除ACL规则统计 BasicSetting 新增方法,无影响
新增 GetModuleStatistics ss ModuleName:模块名称
SubId:模块内部索引
s Statistics: 模块统计 获取指定模块统计 ReadOnly 新增方法,无影响
变更 IICReadData t RegAddr: 寄存器地址 u 读取的寄存器的值 通过IIC读取寄存器 BasicSetting 请求参数签名由u改为t,无业务影响
变更 IICWriteData tu RegAddr: 寄存器地址Value: 写入的值 b 写入是否成功 通过IIC写寄存器 BasicSetting 请求参数签名由u改为t,无业务影响

变更接口影响

路径 变更接口影响 CSR配置影响 持久化影响 其他影响
/bmc/kepler/Debug/LswMain 1. 新增方法无影响2. 变更IICReadDataIICWriteData的请求签名,无业务影响 不涉及重名属性,无影响 不涉及新增和废弃主键,无兼容性问题 需实现新增方法,属性当前暂不实现,仅提供默认值

评审点3:变更资源协作接口 bmc.kepler.Debug.LswMain.PortMgmt

变更描述:接口承载了交换芯片端口管理的调试功能,新增方法属于调试功能的一部分;

接口链接bmc.kepler.Debug.LswMain.PortMgmt接口定义

变更方法

变更类型 方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限 变更影响
新增 SetPortDefaultVlan su Port:端口名称
Pvid:端口默认PVID
b Result:命令执行结果 设置端口的PVID BasicSetting 新增方法,无影响
新增 GetPortDefaultVlan s Port:端口名称 s Pvid: 端口默认PVID 获取端口的PVID ReadOnly 新增方法,无影响
新增 GetPortMtu s Port:端口名称 s Mtu: 端口MTU 获取端口的MTU ReadOnly 新增方法,无影响

变更接口影响

路径 变更接口影响 CSR配置影响 持久化影响 其他影响
/bmc/kepler/Debug/LswMain 1. 新增方法无影响 不涉及重名属性,无影响 不涉及新增和废弃主键,无兼容性问题 需实现新增方法,属性当前暂不实现,仅提供默认值

评审点4:新增资源协作接口 bmc.kepler.Debug.LswMain.FmeaMgmt

接口描述:新增接口用于调试交换芯片的故障管理能力。

新增方法

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
GetFemaTaskInfo s GroupId:检测项GroupId信息 s FemaTaskInfo: 检测项详细信息 获取检测项信息 ReadOnly
SetFmeaTaskEnable su TaskName:检测项名字
Enable:检测项使能状态
b Result: 方法执行成功或失败 设置检测项使能状态 BasicSetting
GetFmeaGroupInfo - - s GroupInfo: 检测项GroupID信息 获取检测项GroupID列表 ReadOnly
SetFmeaTaskPeriod sd TaskName:检测项名字
Time:检测项运行周期
b Result: 方法执行成功或失败 设置检测项检测周期 BasicSetting
SetFmeaTaskPara suu TaskName:检测项名字
Pos:检测项参数位置, Val: 检测项参数
b Result: 方法执行成功或失败 设置检测项参数 BasicSetting
SetFmeaTaskMock su TaskName:检测项名字
MockMode:检测项打桩信息
b Result: 方法执行成功或失败 设置检测项打桩模式 BasicSetting
SetFmeaAlarmThreshold su TaskName:检测项名字
Threshold:检测项告警上报门限
b Result: 方法执行成功或失败 设置检测项告警上报门限 BasicSetting
SetFmeaClearanceThreshold su TaskName:检测项名字
Threshold:检测项告警恢复门限
b Result: 方法执行成功或失败 设置检测项告警恢复门限 BasicSetting
SetFmeaHealThreshold su TaskName:检测项名字
Threshold:检测项告警自愈次数
b Result: 方法执行成功或失败 设置检测项告警自愈次数 BasicSetting
SetAlarmSuppressionPeriod su TaskName:检测项名字
Time:检测项告警抑制检测周期
b Result: 方法执行成功或失败 设置检测项告警抑制检测周期 BasicSetting
SetAlarmSuppressionRatio su TaskName:检测项名字
Threshold:检测项告警抑制倍率
b Result: 方法执行成功或失败 设置检测项告警抑制倍率 BasicSetting
SetAlarmSuppressionThreshold su TaskName:检测项名字
Threshold:检测项告警抑制门限
b Result: 方法执行成功或失败 设置检测项告警抑制门限 BasicSetting
SetAlarmClearMaxThreshold su TaskName:检测项名字
Threshold:检测项告警恢复最大门限
b Result: 方法执行成功或失败 设置检测项告警恢复最大门限 BasicSetting

新增接口影响

路径 新增接口影响 CSR配置影响 持久化影响 其他影响
/bmc/kepler/Debug/LswMain 新增接口用于调试交换芯片的故障管理能力 不涉及重名属性,无影响 不涉及持久化,无影响 需实现新增方法,属性当前暂不实现,仅提供默认值

评审点5:新增资源协作接口 bmc.kepler.Switch.Event

接口描述​:新增接口用于支撑交换芯片故障事件上报的能力.

新增属性

属性名称 签名 只读 变化通知 属性描述 | 访问权限 属性来源 持久化类型 易变属性
LswFault u False false 私有属性,用于LSWFAULT告警,默认值为0 RW CSR 复位持久化 false
LswError u False false 私有属性,用于LSWERROR告警,默认值为0 RW CSR 复位持久化 false
LswMgmtLink u False false 私有属性,用于LSW的MGMT端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswCas1Link u False false 私有属性,用于LSW的Cas_1端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswCas2Link u False false 私有属性,用于LSW的Cas_2端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswCas3Link u False false 私有属性,用于LSW的Cas_3端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswCas4Link u False false 私有属性,用于LSW的Cas_4端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswCas5Link u False false 私有属性,用于LSW的Cas_5端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswCas6Link u False false 私有属性,用于LSW的Cas_6端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswCas7Link u False false 私有属性,用于LSW的Cas_7端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswCas8Link u False false 私有属性,用于LSW的Cas_8端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswBMC1Link u False false 私有属性,用于LSW的BMC_1端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswBMC2Link u False false 私有属性,用于LSW的BMC_2端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswBMC3Link u False false 私有属性,用于LSW的BMC_3端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswBMC4Link u False false 私有属性,用于LSW的BMC_4端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswBMC5Link u False false 私有属性,用于LSW的BMC_5端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswBMC6Link u False false 私有属性,用于LSW的BMC_6端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswBMC7Link u False false 私有属性,用于LSW的BMC_7端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswBMC8Link u False false 私有属性,用于LSW的BMC_8端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswCport1Link u False false 私有属性,用于LSW的Cport_1端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswCport2Link u False false 私有属性,用于LSW的Cport_2端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswCport3Link u False false 私有属性,用于LSW的Cport_3端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswCport4Link u False false 私有属性,用于LSW的Cport_4端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswCport5Link u False false 私有属性,用于LSW的Cport_5端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswCport6Link u False false 私有属性,用于LSW的Cport_6端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswCport7Link u False false 私有属性,用于LSW的Cport_7端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswCport8Link u False false 私有属性,用于LSW的Cport_8端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswSW510GELink u False false 私有属性,用于LSW的SW5_10GE端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswSW410GELink u False false 私有属性,用于LSW的SW4_10GE端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswSW4CportLink u False false 私有属性,用于LSW的SW4_Cport端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswSW5CportLink u False false 私有属性,用于LSW的SW5_Cport端口LinkDown告警,默认值为0 RW CSR 复位持久化 false
LswSMMOtherLink u False false 私有属性,用于LSW的SMM_Other端口LinkDown告警,默认值为0 RW CSR 复位持久化 false

新增接口影响

路径 新增接口影响 CSR配置影响 持久化影响 其他影响
/bmc/kepler/Switch/:id 新增接口用于交换芯片的故障事件信息上报 不涉及重名属性,无影响 复位持久化,无影响 无影响

评审点6:新增资源协作接口 bmc.kepler.Switch.Fmea

接口描述​:新增接口用于交换芯片故障检测项设置/查询的能力

新增方法

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 | 访问权限
GetFemaInfo s GroupId: 检测项GroupId信息 s Result: 检测项详细信息 获取检测项信息 ReadOnly
SetFmeaEnable suu TaskName: 检测项名字
Enable: 检测项使能状态
PersistType: 持久化类型
b Result: 方法执行成功或失败 设置检测项使能状态 BasicSetting

新增接口影响

路径 新增接口影响 CSR配置影响 持久化影响 其他影响
/bmc/kepler/Switch/:id 新增接口用于调试交换芯片的故障管理能力 不涉及重名属性,无影响 可选持久化类型,无影响 需实现新增方法,属性当前暂不实现,仅提供默认值

是否准备好AI预审

评审结论

遗留问题

预审答案内容由AI生成,仅供参考:

帖子评审结论:新增交换FMEA和Trunk资源树接口

帖子相关性:相关(MDB 相关: 内容含强特征: 资源协作)

  • 总评审点数:6
  • MDB 资源协作接口评审点:6
  • 其他评审点:0

总体结果:不通过(4/6 个评审点通过)

评审点 1:新增资源协作接口bmc.kepler.Debug.LswMain.TrunkMgmt,新增对交换芯片Trunk管理能力的调试方法;【MDB】

结果:通过

  • 规则合规性检查:通过(26 项检查全部通过)
    • 警告项(建议性)
      规则ID:MDB-RISK-004
      级别:建议性
      问题描述:接口包含 DeleteTrunk 等高风险删除和配置变更方法,可能影响业务网络连通性,但未说明防误操作、失败恢复及审计日志策略。
      处理建议:severity=‘should’ 建议性规则,建议修改以提升规范符合性

      规则ID:MDB-KEYWORD-026
      级别:建议性
      问题描述:方法表中包含 访问权限 列,对应关键字 privilege,该关键字属于组件模型侧,不应作为资源树接口公共契约对外暴露。
      处理建议:severity=‘should’ 建议性规则,建议修改以提升规范符合性

评审点 2:变更资源协作接口bmc.kepler.Debug.LswMain.LswMainDebug,新增对交换芯片ACL规则管理的调试方法,变更IIC读写数据方法的请求参数类型;【MDB】

结果:不通过

  • 规则合规性检查:不通过(1/26 项失败)
    • 规则合规性失败项(必须项)
      规则ID:MDB-PROPERTY-015
      级别:必须项
      问题描述:DiagCmd 方法用于执行维测命令,属于高风险操作,但访问权限设为 ReadOnly,明显低于操作风险。
      处理建议:建议将 DiagCmd 方法的访问权限提升至 Admin 或与操作风险匹配的权限级别,或在描述中说明为何只读权限可执行该操作。

    • 警告项(建议性)
      规则ID:MDB-REVIEW-003
      级别:建议性
      问题描述:新增方法及变更签名涉及接口契约变更,建议补充文档同步说明。
      处理建议:severity=‘should’ 建议性规则,建议修改以提升规范符合性

      规则ID:MDB-KEYWORD-026
      级别:建议性
      问题描述:评审点在资源树接口方法定义表中包含了 访问权限 列,该关键字属于组件模型侧关键字,不应作为资源树接口公共契约对外暴露。
      处理建议:severity=‘should’ 建议性规则,建议修改以提升规范符合性

评审点 3:变更资源协作接口bmc.kepler.Debug.LswMain.PortMgmt,新增查询/设置端口默认Vlan的调试方法;【MDB】

结果:通过

  • 规则合规性检查:通过(26 项检查全部通过)
    • 警告项(建议性)
      规则ID:MDB-REVIEW-003
      级别:建议性
      问题描述:变更描述较为简略,仅说明属于调试功能,未明确具体的消费方或触发场景,背景信息不够充分。
      处理建议:severity=‘should’ 建议性规则,建议修改以提升规范符合性

评审点 4:新增资源协作接口bmc.kepler.Debug.LswMain.FmeaMgmt,新增对交换芯片故障管理的调试方法;【MDB】

结果:通过

  • 规则合规性检查:通过(26 项检查全部通过)
    • 警告项(建议性)
      规则ID:MDB-REVIEW-003
      级别:建议性
      问题描述:评审点缺少消费方/使用场景说明和文档同步更新说明。
      处理建议:severity=‘should’ 建议性规则,建议修改以提升规范符合性

      规则ID:MDB-KEYWORD-026
      级别:建议性
      问题描述:方法表中包含“访问权限”列,对应关键字 privilege,该关键字属于组件模型侧,不应作为资源树接口公共契约对外暴露。
      处理建议:severity=‘should’ 建议性规则,建议修改以提升规范符合性

评审点 5:新增资源协作接口bmc.kepler.Switch.Event,新增对交换芯片故障事件相关属性;【MDB】

结果:不通过

  • 规则合规性检查:不通过(1/26 项失败)
    • 规则合规性失败项(必须项)
      规则ID:MDB-NAMING-006
      级别:必须项
      问题描述:多个属性名含下划线,违反 PascalCase 命名规范中禁止使用下划线的要求。
      处理建议:请将属性名中的下划线移除,采用 PascalCase 命名。例如:LswCas_1Link 改为 LswCas1LinkLswBMC_1Link 改为 LswBMC1LinkLswSW5_10GELink 改为 LswSW510GELinkLswSW5TenGELink

    • 警告项(建议性)
      规则ID:MDB-REVIEW-003
      级别:建议性
      问题描述:评审点缺少消费方/使用场景说明,背景信息不够充分。
      处理建议:severity=‘should’ 建议性规则,建议修改以提升规范符合性

      规则ID:MDB-KEYWORD-026
      级别:建议性
      问题描述:属性表中包含“访问权限”和“易变属性”列,这些属于组件模型侧关键字,不应作为资源树协作接口的公共契约对外暴露。
      处理建议:severity=‘should’ 建议性规则,建议修改以提升规范符合性

评审点 6:新增资源协作接口bmc.kepler.Switch.Fmea,新增对交换芯片故障检测项设置/查询的方法;【MDB】

结果:通过

  • 规则合规性检查:通过(26 项检查全部通过)
    • 警告项(建议性)
      规则ID:MDB-KEYWORD-026
      级别:建议性
      问题描述:方法表中包含 访问权限 列,该关键字属于组件模型侧,不应作为资源树接口公共契约对外暴露。
      处理建议:severity=‘should’ 建议性规则,建议修改以提升规范符合性