【已评审】新增ipmi命令支持设置看门狗超时时间限制范围

ISSUE 链接

不涉及,产业识别现网问题改进措施,待BMC及产业方案评审通过后提需求。

背景

产品识别看门狗超时时间设置场景当前较为固定,为了避免异常值设置导致带内复位,新增看门狗超时时间限制范围配置接口,作为看门狗防呆的可靠性措施。

评审点

  1. IPMI新增30 93 91命令用于设置看门狗超时时间限制范围
  2. IPMI新增30 93 92命令用于查询看门狗超时时间限制范围

评审点1:IPMI 新增命令设置看门狗超时时间范围

命令名称: Set Watchdog Timeout Limit
命令说明: 设置看门狗超时时间限制范围,包括看门狗超时时间归属阶段及上限值和下限值
命令权限: PowerMgnt
是否锁定之后可以访问:
是否有敏感数据:
命令样式: 使用 ipmitool 说明命令的请求样式,参数使用大驼峰。举例如下(正式评审中按需替换示例):

  • 请求:ipmitool raw 0x30 0x93 <ManufacturerID> <SubCmd> <TimerUse> <TimeoutLowerLimitLSbyte> <TimeoutLowerLimitMSbyte> <TimeoutUpperLimitLSbyte> <TimeoutUpperLimitMSbyte> <DataCRC8>

  • 响应:<CompletionCode> <ManufacturerID> <DataCRC8>

命令请求参数:

字节顺序 域取值说明
NetFn 30h
Cmd 93h
1:3 Manufacturer ID,LB Byte first。长度固定 3 个字节,例如,某厂家ID时 2011,对应十六进制为0x0007DB,则字节序为第1个字节为 DBh,第二个字节为 07h,第三个字节为 00h。
4 SubCmd,固定为 91h
5 Timer Use,看门狗超时时间归属阶段
[7:3]-reserved
[2:0]-timer use
000b=ALL表示设置所有阶段限制范围
001b-111b=reserved
6 Watchdog timeout lower limit value, lsbyte (100 ms/count),看门狗超时时间下限值低字节,低字节与高字节同时为0时表示门限不生效
7 Watchdog timeout lower limit value, msbyte,看门狗超时时间下限值高字节,低字节与高字节同时为0时表示门限不生效
8 Watchdog timeout upper limit value, lsbyte (100 ms/count),看门狗超时时间上限值低字节,低字节与高字节同时为0时表示门限不生效
9 Watchdog timeout upper limit value, msbyte,看门狗超时时间上限值高字节,低字节与高字节同时为0时表示门限不生效
10 Data CRC8,对第1~9字节所有数据计算出的CRC8校验和

命令响应参数:

字节顺序 域取值说明
1 Completion Code,
00h = 【标准完成码】命令响应成功
C6h = 【标准完成码】命令可能被截断,数据校验不通过
C7h = 【标准完成码】命令长度无效

C9h = 【标准完成码】命令参数不在有效范围
2:4 Manufacturer ID,LB Byte first。长度固定 3 个字节,例如,某厂家ID时 2011,对应十六进制为0x0007DB,则字节序为第1个字节为 DBh,第二个字节为 07h,第三个字节为 00h。
5 Data CRC8,对第1~4字节所有数据计算出的CRC8校验和

命令示例: 使用 ipmitool 说明命令的示例,示例需要明确命令的参数和使用方法(注意敏感数据进行脱敏处理)。举例如下(正式评审中按需替换示例):
样例1: 设置看门狗超时时间下限值为10s

  • 请求:ipmitool raw 0x30 0x93 0xdb 0x07 0x00 0x91 0x00 0x64 0x00 0x00 0x00 0xCE

  • 响应:00 db 07 00 A8

评审点2:IPMI 新增命令查询看门狗超时时间范围

命令名称: Get Watchdog Timeout Limit
命令说明: 查询看门狗超时时间限制范围,包括看门狗超时时间归属阶段对应上限值和下限值
命令权限: ReadOnly
是否锁定之后可以访问:
是否有敏感数据:
命令样式: 使用 ipmitool 说明命令的请求样式,参数使用大驼峰。举例如下(正式评审中按需替换示例):

  • 请求:ipmitool raw 0x30 0x93 <ManufacturerID> <SubCmd> <TimerUse> <DataCRC8>

  • 响应:<CompletionCode> <ManufacturerID> <TimerUse> <TimeoutLowerLimitLSbyte> <TimeoutLowerLimitMSbyte> <TimeoutUpperLimitLSbyte> <TimeoutUpperLimitMSbyte> <DataCRC8>

命令请求参数:

字节顺序 域取值说明
NetFn 30h
Cmd 93h
1:3 Manufacturer ID,LB Byte first。长度固定 3 个字节,例如,某厂家ID时 2011,对应十六进制为0x0007DB,则字节序为第1个字节为 DBh,第二个字节为 07h,第三个字节为 00h。
4 SubCmd,固定为 92h
5 Timer Use,看门狗超时时间归属阶段
[7:3]-reserved
[2:0]-timer use
000b=ALL表示设置所有阶段限制范围
001b-111b=reserved
6 Data CRC8,对第1~5字节所有数据计算出的CRC8校验和

命令响应参数:

字节顺序 域取值说明
1 Completion Code
00h = 【标准完成码】命令响应成功
C6h = 【标准完成码】命令可能被截断,数据校验不通过
C7h = 【标准完成码】命令长度无效
C9h = 【标准完成码】命令参数不在有效范围
2:4 Manufacturer ID,LB Byte first。长度固定 3 个字节,例如,某厂家ID时 2011,对应十六进制为0x0007DB,则字节序为第1个字节为 DBh,第二个字节为 07h,第三个字节为 00h。
5 Timer Use,看门狗超时时间归属阶段
[7:3]-reserved
[2:0]-timer use
000b=ALL表示设置所有阶段限制范围
001b-111b=reserved
6 Watchdog timeout lower limit value, lsbyte (100 ms/count),看门狗超时时间下限值低字节,低字节与高字节同时为0时表示门限不生效
7 Watchdog timeout lower limit value, msbyte,看门狗超时时间下限值高字节,低字节与高字节同时为0时表示门限不生效
8 Watchdog timeout upper limit value, lsbyte (100 ms/count),看门狗超时时间上限值低字节,低字节与高字节同时为0时表示门限不生效
9 Watchdog timeout upper limit value, msbyte,看门狗超时时间上限值高字节,低字节与高字节同时为0时表示门限不生效
10 Data CRC8,对第1~9字节所有数据计算出的CRC8校验和

命令示例: 使用 ipmitool 说明命令的示例,示例需要明确命令的参数和使用方法(注意敏感数据进行脱敏处理)。举例如下(正式评审中按需替换示例):
样例1: 获取看门狗超时时间门限值

  • 请求:ipmitool raw 0x30 0x93 0xdb 0x07 0x00 0x92 0x00 0x7b

  • 响应:00 db 07 00 00 08 07 00 00 4C

评审结论

1、同意新增ipmi命令用于设置/查询看门狗超时时间门限范围,在接口文档中说明,新增的IPMI命令的应用场景,若涉及到BT通信场景,建议增加完整性校验字段,及CRC8推荐算法说明
设置:netfn=30h,cmd=93h,subcmd=91h
查询:netfn=30h,cmd=93h,subcmd=92h

遗留问题