【已评审】扩展IPMI命令用于查询和配置超节点属性

ISSUE 链接

产业内容 不涉及issue

背景

1.装备环节需要配置超节点信息,如NPUBootType属性,在商用阶段仅支持UB PXE/HTTP启动,在装备阶段需要通过UBOE启动,需要基于IPMI实现配置。
2.装备环节需要还原配置的超节点信息。

评审点

新增查询和配置超节点扩展信息ipmi命令

评审点1:新增查询超节点扩展信息命令

命令名称: GetSuperPodLabelExpansion
命令权限: ReadOnly
是否锁定之后可以访问:
是否有敏感数据:
命令样式:

  • 请求:ipmitool raw 0x30 0x94 <ManufacturerID> <SubCmd> <Parameter Selector> <Read Offset> <Length>
  • 响应:<ManufacturerID> <End of List> <TotalCount> <Type1> <Length1> <Value1_1> ... <Value1_N> <Type2> <Length2> <Value2_1> ... <Value2_N> ...

命令请求参数:

字节顺序 域取值说明
NetFn 30h
Cmd 94h
1:3 Manufacturer ID,LB Byte first。长度固定 3 个字节,例如,某厂家ID时 2011,对应十六进制为0x0007DB,则字节序为第1个字节为 DBh,第二个字节为 07h,第三个字节为 00h。
4 SubCmd,固定为 6Ah
5:6 Parameter Selector, 新增0x0008
7:8 Read Offset, 读取的数据偏移
9 Length,读取长度(最大为250bytes)

命令响应参数:

字节顺序 域取值说明
1 Completion Code,如果有特殊的/特定的完成码则需要单独说明,比如:
80h = 命令的长度和参数不匹配
81h = 命令的参数无法支持
2:4 Manufacturer ID,LB Byte first。长度固定 3 个字节,例如,某厂家ID时 2011,对应十六进制为0x0007DB,则字节序为第1个字节为 DBh,第二个字节为 07h,第三个字节为 00h。
5 表示当前数据是否结束。当参数数据比较长的时候,可能需要分多次读取,通过此字段可以判断数据是否读完。[7:1]:reserved [0]:End of list 0=last data 1=middle data
6:N Data

命令示例:
样例1: 查询该机型下所有超节点属性,如此时超节点属性有TopologyType,值为[3],该属性长度为1,NPUBootOption,值为[0],该属性长度为1,则返回结果为TLV格式

  • 请求:ipmitool raw 0x30 0x94 0xdb 0x07 0x00 0x6A 0x08 0x00 0x00 0x00 0x01 0x00
  • 响应:db 07 00 00 02 00 01 03 01 01 01

评审点2:新增设置超节点扩展信息命令

命令名称: SetSuperPodLabelExpansion
命令权限: BasicSetting
是否锁定之后可以访问:
是否有敏感数据:
命令样式:

  • 请求:ipmitool raw 0x30 0x94 <ManufacturerID> <SubCmd> <Parameter Selector> <End of List> <Write Offset> <Length> <TotalCount> <Type1> <Length1> <Value1_1> ... <Value1_N> <Type2> <Length2> <Value2_1> ... <Value2_N>
  • 响应:<ManufacturerID>

命令请求参数:

字节顺序 域取值说明
NetFn 30h
Cmd 94h
1:3 Manufacturer ID,LB Byte first。长度固定 3 个字节,例如,某厂家ID时 2011,对应十六进制为0x0007DB,则字节序为第1个字节为 DBh,第二个字节为 07h,第三个字节为 00h。
4 SubCmd,固定为 6Bh
5:6 Parameter Selector, 新增0x0008
7 [7:1]:reserved
[0]:级联标志
0=是最后一帧数据
1=后面还有数据
8:9 Write Offset, 读取的数据偏移
10 Length,写入长度(最大为250bytes)
11 Parameter Data

命令响应参数:

字节顺序 域取值说明
1 Completion Code,如果有特殊的/特定的完成码则需要单独说明,比如:
80h = 命令的长度和参数不匹配
81h = 命令的参数无法支持
2:4 Manufacturer ID,LB Byte first。长度固定 3 个字节,例如,某厂家ID时 2011,对应十六进制为0x0007DB,则字节序为第1个字节为 DBh,第二个字节为 07h,第三个字节为 00h。

命令示例:
样例1: 设置 TopologyType 的资源协作接口属性值至 [3]

  • 请求:ipmitool raw 0x30 0x94 0xdb 0x07 0x00 0x6B 0x08 0x00 0x00 0x00 0x00 0x04 0x01 0x02 0x00 0x03
  • 响应:db 07 00
功能描述 parameter selector parameter data-get parameter data-set
模板:功能描述,使用场景 0xMMNN 请求:Read Offset:0x0000Length: 1响应:End of List: 0Data:0: 功能01: 功能1 请求:Write Offset:0x0000Length: 1Data:0: 功能01: 功能1
定制SuperPodLabelExpansion属性 0x0008 请求:
Read Offset: 0x0000
Length - 获取超节点信息总长度
响应:
Data0 - 查询的超节点属性个数
Data1 - 超节点属性1的类型编号
Data2 - 超节点属性1的值长度N
Data3:3+N - 超节点属性1的值
查询多个超节点属性时,使用"Type Length Value"的结构,格式与Data3:3+N一致
请求:
Write Offset:0x0000
Length - 设置超节点信息总长度
Parameter Data0 - 设置的超节点属性个数
Parameter Data1 - 超节点属性1长度,见超节点信息配置属性列表,如设置TopologyType,则Parameter Data1为0x01
Parameter Data2 - 超节点属性1的类型编号,见超节点配置属性列表,如设置TopologyType,则Parameter Data2为0x00
Parameter Data3:3+N - 超节点属性1的值,如设置TopologyType,则Parameter Data3可为0x01
设置多个超节点属性时,使用"Type Length Value"的结构,格式与Parameter Data3:3+N一致

可设置的超节点属性列表和默认值如下:

属性名称 Type 属性说明 Length 数据类型 取值范围 默认值
ChassisID 0x05 此设备所属机柜编号 2 integer 0-65535
超节点设置正常取值为0-65534
65535为无效值
65535
TopologyType 0x00 超节点拓扑类型(如 8P拓扑 指单台服务器) 1 integer 0:普通单节点
1:板内NPU互联
2:板间NPU互联
3:双节点互联
4:四节点互联
0
InterconType 0x02 超节点互联类型(如何实现最终拓扑 通过交换/DPU实现互联) 1 integer 0:RoCE over DPU
1:RoCE over CPU
2:UBoE over NPU
3:UBoE over SWITCH
4:UBoE over DPU
0
PresentDPUCount 0x03 此设备所属机柜内DPU数量 1 integer 16:物理在位16个DPU
32:物理在位32个DPU
16
NPUBootOption 0x01 NPU启动方式(CDMA/HTTP) 1 integer 0:基于UB CDMA拉取NPU OS
1:基于PCIE拉取NPU OS
2:基于UB HTTP拉取NPU OS
10:基于调试网口拉取NPU OS
11:基于FLASH拉取NPU OS
12:基于UB OVER ETHERNET拉取NPU OS
0
UBManagedBy 0x04 UB管理方式(带内 华为云管理/带外 LCNE) 1 integer 0:带外管理
1:带内管理
0

评审结论

同意新增查询超节点扩展信息命令,该命令复用0x30,0x94命令字,新增Parameter Selector 0x0008,查询超节点配置信息,请求和响应格式定义参考详细描述
同意新增设置超节点扩展信息命令,该命令复用0x30,0x94命令字,新增Parameter Selector 0x0008,设置超节点配置信息,请求和响应格式定义参考详细描述