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

背景

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

关联ISSUE

无

整体方案

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

评审点

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

详细描述

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

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

新增方法

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
CreateTrunk y TrunkId: Trunk端口ID - - 创建一个Trunk端口 BasicSetting
DeleteTrunk y TrunkId: Trunk端口ID - - 删除一个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: 端口列表
- - 添加成员端口到Trunk BasicSetting
DelPortsFromTrunk yas TrunkId: Trunk端口ID
Ports: 端口列表
- - 从Trunk删除成员端口 BasicSetting
GetLoadBalanceMode yy TrunkId: Trunk端口ID
PktType: 报文类型
u Mode: 负载均衡模式 获取Trunk端口指定报文类型的负载均衡模式 ReadOnly
SetLoadBalanceMode yyu TrunkId: Trunk端口ID
PktType: 报文类型,L2:0 L3:1 L4:2
Mode: 负载均衡模式
- - 设置Trunk端口指定报文类型的负载均衡模式 BasicSetting

新增接口影响

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

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

变更描述:

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

接口链接:bmc.kepler.Debug.LanSwitch.LswMainDebug接口定义

变更方法

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

变更接口影响

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

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

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

接口链接:bmc.kepler.Debug.LanSwitch.PortMgmt接口定义

变更方法

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

变更接口影响

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

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

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

新增方法

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
GetPatrolItemTaskInfo s GroupId:检测项GroupId信息 s PatrolItemTaskInfo: 检测项详细信息 获取检测项信息 ReadOnly
SetPatrolItemTaskEnable su TaskName:检测项名字
Enable:检测项使能状态
设置检测项使能状态 BasicSetting
GetPatrolItemGroupInfo - - s GroupInfo: 检测项GroupID信息 获取检测项GroupID列表 ReadOnly
SetPatrolItemTaskPeriod sd TaskName:检测项名字
Time:检测项运行周期
设置检测项检测周期 BasicSetting
SetPatrolItemTaskPara suu TaskName:检测项名字
Pos:检测项参数位置, Val: 检测项参数
设置检测项参数 BasicSetting
SetPatrolItemTaskMock su TaskName:检测项名字
MockMode:检测项打桩信息
设置检测项打桩模式 BasicSetting
SetPatrolItemAlarmThreshold su TaskName:检测项名字
Threshold:检测项告警上报门限
设置检测项告警上报门限 BasicSetting
SetPatrolItemClearanceThreshold su TaskName:检测项名字
Threshold:检测项告警恢复门限
设置检测项告警恢复门限 BasicSetting
SetFmeaHealThreshold su TaskName:检测项名字
Threshold:检测项告警自愈次数
设置检测项告警自愈次数 BasicSetting
SetAlarmSuppressionPeriod su TaskName:检测项名字
Time:检测项告警抑制检测周期
设置检测项告警抑制检测周期 BasicSetting
SetAlarmSuppressionRatio su TaskName:检测项名字
Threshold:检测项告警抑制倍率
设置检测项告警抑制倍率 BasicSetting
SetAlarmSuppressionThreshold su TaskName:检测项名字
Threshold:检测项告警抑制门限
设置检测项告警抑制门限 BasicSetting
SetAlarmClearMaxThreshold su TaskName:检测项名字
Threshold:检测项告警恢复最大门限
设置检测项告警恢复最大门限, 在告警抑制场景限制告警恢复门限无限变大. BasicSetting

新增接口影响

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

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

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

新增属性

属性名称 签名 只读 变化通知 属性描述 | 访问权限 属性来源 持久化类型 易变属性
LswFault u False true 私有属性,用于LSWFAULT告警,默认值为0 R CSR 复位持久化 false
LswError u False true 私有属性,用于LSWERROR告警,默认值为0 R CSR 复位持久化 false

新增接口影响

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

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

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

新增方法

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
GetPatrolItemTable s GroupId: 检测项GroupId信息 s PatrolItemTable: 检测项详细信息 获取检测项信息 ReadOnly
SetPatrolItemEnabled suu TaskName: 检测项名字
Enable: 检测项使能状态
PersistType: 持久化类型,0:不做持久化, 1:掉电持久化
设置检测项使能状态 BasicSetting

新增接口影响

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

评审点7:变更资源协作接口 /bmc/kepler/Switches/:id/Ports/:ID

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

新增属性

属性名称 签名 只读 变化通知 属性描述 | 访问权限 属性来源 持久化类型 易变属性
LinkStatus y False true 私有属性,用于交换芯片端口LinkDown告警,默认值为1 R CSR 复位持久化 false
BFDStatus y False true 私有属性,用于交换芯片端口BFD协议检测状态告警,默认值为1 R CSR 复位持久化 false
LLDPStatus y False true 私有属性,用于交换芯片端口LLDP协议检测状态告警,默认值为1 R CSR 复位持久化 false
LACPStatus y False true 私有属性,用于交换芯片端口LACP协议检测状态告警,默认值为1 R CSR 复位持久化 false

新增接口影响

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

是否准备好AI预审

是

评审结论

同意新增资源协作接口bmc.kepler.Debug.LanSwitch.TrunkMgmt,新增对交换芯片Trunk管理能力的调试方法;
同意变更资源协作接口bmc.kepler.Debug.LanSwitch.LswMainDebug,新增对交换芯片ACL规则管理的调试方法,变更IIC读写数据方法的请求参数类型;
同意变更资源协作接口bmc.kepler.Debug.LanSwitch.PortMgmt,新增查询/设置端口默认Vlan的调试方法;
同意新增资源协作接口bmc.kepler.Debug.LanSwitch.FmeaMgmt,新增对交换芯片故障管理的调试方法;
同意新增资源协作接口bmc.kepler.Switch.Event, 新增对交换芯片端口Link故障和芯片故障告警相关属性;
同意新增资源协作接口bmc.kepler.Switch.Fmea,新增对交换芯片故障检测项设置/查询的方法;
同意变更资源协作接口 /bmc/kepler/Switches/:id/Ports/:ID 新增表示端口Link状态的属性;

遗留问题

1 LswMain接口名字重新命名LanSwitch
2 方法的成功与否优先使用错误引擎, 错误返回空
3 PktType: 报文类型 详细说明枚举类型
4 GetAllTrunkPorts响应签名应该是a[yas]
5 DiagCmd方法命名为ExcuteLswCmd,请求参数描述需要命名CmdName
6 GetAclTable的请求参数修改为U
7 GetPortMtu修改为GetPortMTU
8 统一对FMEA重新命令 PatrolItem
9 SetAlarmClearMaxThreshold说明和告警恢复门限的关系
10 访问权限统一限制为R
11 只读/变化通知修改为true
12 端口告警属性新增路径/bmc/kepler/Switches/:id/Ports/:ID
13 GetFemaInfo修改GetPatrolItemTable
14 GetFemaInfo返回值修改为json
15 PersistType持久化类型枚举详细说明
16 SetFmeaEnable修改为SetFmeaEnabled

预审答案内容由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 改为 LswCas1Link,LswBMC_1Link 改为 LswBMC1Link,LswSW5_10GELink 改为 LswSW510GELink 或 LswSW5TenGELink。

    • 警告项(建议性):
      规则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’ 建议性规则,建议修改以提升规范符合性