【已评审】Firewall 中添加/删除/查询白名单支持Channel和LUN

关联issue

同下述背景关联议题中关联issue,具体链接: 支持IPMI规范的 Firewall 中添加/删除/查询白名单

背景

在IPMI规范中对于 Firmware Firewall 的 Enable/Disable 处理,标准IPMI命令输入中均有对应的 Channel 和 LUN 的支持,因此基于上一次评审(见下面 关联评审)在资源协作接口原子能力中需要增加对于 Channel 和 LUN 的支持。

关联评审

评审点

path:/bmc/kepler/IpmiService
interface:bmc.kepler.IpmiService.Firewall

方法1:AddWhiteList

取值以及说明
方法名称 AddWhiteList
方法描述 增加 IPMI Firewall 白名单,当前仅支持标准IPMI命令
方法权限 UserMgmt(和对应的IPMI命令Enable操作对齐)
请求签名 ya{yay}yy
请求参数 NetFN:uint8 类型,表征添加白名单的网络功能码,取值范围[0, 64],必填参数
CmdList:array<uint8> 类型,表征添加白名单的命令列表,每个元素的取值范围 [0, 255],可选参数,如果长度为空则添加NetFN下的所有命令
SubFunctionList:array<uint8> 类型,表征添加白名单的命令列表,每个元素的取值范围 [0, 63],可选参数,如果长度为空则添加的NetFN和CmdList的交集下的所有命令
Channel:uint8 类型,表征添加白名单需要支持的通道,取值范围[0, 15]以及0xFF(全部通道)
LUN:uint8 类型,表征添加白名单需要支持的LUN,取值范围[0, 3]以及0xFF(全部LUN)
响应签名
响应参数 无,添加成功之后不会返回任何数据,添加失败之后会返回error引擎

方法2:RemoveWhiteList

取值以及说明
方法名称 RemoveWhiteList
方法描述 删除 IPMI Firewall 白名单,当前仅支持标准IPMI命令
方法权限 UserMgmt(和对应的IPMI命令Disable操作对齐)
请求签名 ya{yay}yy
请求参数 NetFN:uint8 类型,表征删除白名单的网络功能码,取值范围[0, 64],必填参数
CmdList:array<uint8> 类型,表征删除白名单的命令列表,每个元素的取值范围 [0, 255],可选参数,如果长度为空则删除NetFN下的所有的命令
SubFunctionList:array<uint8> 类型,表征删除白名单的命令列表,每个元素的取值范围 [0, 63],可选参数,如果长度为空则删除NetFN和CmdList的交集下的所有命令
Channel:uint8 类型,表征添加白名单需要支持的通道,取值范围[0, 15]以及0xFF(全部通道)
LUN:uint8 类型,表征添加白名单需要支持的LUN,取值范围[0, 3]以及0xFF(全部LUN)
响应签名
响应参数 无,删除成功之后不会返回任何数据,删除失败之后会返回error引擎

方法3:GetWhiteList

取值以及说明
方法名称 GetWhiteList
方法描述 查询 IPMI Firewall 白名单列表,当前仅支持标准IPMI命令
方法权限 ReadOnly
请求签名 yy
请求参数
Channel:uint8 类型,表征添加白名单需要支持的通道,取值范围[0, 15]以及0xFF(全部通道)
LUN:uint8 类型,表征添加白名单需要支持的LUN,取值范围[0, 3]以及0xFF(全部LUN)
响应签名 a{ya{yay}}
响应参数 查询失败之后会返回error引擎,查询成功时返回参数如下:
NetFN:uint8 类型,表征删除白名单的网络功能码,取值范围[0, 64],必填参数
CmdList:array<uint8> 类型,表征删除白名单的命令列表,每个元素的取值范围 [0, 255],可选参数,如果长度为空则删除NetFN下的所有的命令
SubFunctionList:array<uint8> 类型,表征删除白名单的命令列表,每个元素的取值范围 [0, 63],可选参数,如果长度为空则删除NetFN和CmdList的交集下的所有命令

评审结论

通过,具体结论如下:

  • 同意方法 AddWhiteList 请求参数中增加 ChannelLUN,必填参数,类型均为 uint8
  • 同意方法 RemoveWhiteList 请求参数中增加 ChannelLUN,必填参数,类型均为 uint8
  • 同意方法 GetWhiteList 请求参数中增加 ChannelLUN,必填参数,类型均为 uint8