ISSUE链接
背景
客户要求使用ipmi命令查询和配置BIOS选项
需要支持ipmi命令查询和配置BIOS选项
决策点
是否新增ipmi命令来查询和配置BIOS选项
详细描述
Get命令
IPMI命令字:NetFn:0x30 Cmd:0x93
名称:Get Bios Configuration
变化类型:新增IPMI命令
应用场景:获取bios配置项
操作权限:ReadOnly
可执行角色等级:User
| 字节顺序 | 域内容 |
|---|---|
| NetFn | 30h |
| Cmd | 93h |
| 1:3 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
| 4 | Sub command,子命令=8Bh |
| 5 | Systemid,系统id,表示查询对应系统的BIOS选项 |
| 6 | Type,查询类型:0-待生效的值,1-已生效的值 |
| 7:8 | Reserved,预留字段,默认填0 |
| 9 | Length,属性名长度N |
| 10:N+9 | Property,属性名,区分大小写 |
响应说明:
| 字节顺序 | 域内容 |
|---|---|
| 1 | Completion Code |
| 2:4 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
| 5:6 | Reserved,预留字段,默认填0 |
| 7 | Type,属性值类型:0-字符串 1-数字 |
| 8 | Length,属性值长度M |
| 9:M+8 | Value,属性值,ascii字符串,如果类型为数字,则为小端序。例:Type为0,属性值为0x68,表示"h";Type为1,属性值为0x68,表示104 |
Set命令
IPMI命令字:NetFn:0x30 Cmd:0x93
名称:Set Bios Configuration
变化类型:新增IPMI命令
应用场景:设置bios配置项
操作权限:UserMgmt
可执行角色等级:Administrator
| 字节顺序 | 域内容 |
|---|---|
| NetFn | 30h |
| Cmd | 93h |
| 1:3 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
| 4 | Sub command,子命令=8Ch |
| 5 | Systemid,系统id,表示配置对应系统的BIOS选项 |
| 6:7 | Reserved,预留字段,默认填0 |
| 8 | Property length,属性名长度N |
| 9:N+8 | Property,属性名,区分大小写 |
| N+9 | Type,属性值类型:0-字符串 1-数字 |
| N+10 | Value length,属性值长度M |
| N+11:N+M+10 | Value,属性值,ascii字符串,如果类型为数字,则为小端序。例:Type为0,属性值为0x68,表示"h";Type为1,属性值为0x68,表示104 |
响应说明:
| 字节顺序 | 域内容 |
|---|---|
| 1 | Completion Code |
| 2:4 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
错误场景:
Get命令
| 场景 | 错误码 | 错误码含义 |
|---|---|---|
| 未找到对应属性 | 0xC9 | ParmOutOfRange |
| 查询类型错误 | 0xC9 | ParmOutOfRange |
| 命令长度错误 | 0xC7 | ReqDataLenInvalid |
Set命令
| 场景 | 错误码 | 错误码含义 |
|---|---|---|
| 未找到对应属性 | 0xC9 | ParmOutOfRange |
| 属性值不在可设置范围内 | 0xC9 | ParmOutOfRange |
| 命令长度错误 | 0xC7 | ReqDataLenInvalid |
评审结论
同意新增查询和配置BIOS选项的IPMI命令,具体如下
- NetFn:0x30
- Cmd:0x93
- Sub command:0x8b、0x8c
请求、响应格式定义如详细描述
遗留问题
遗留问题:
1、属性名长度是否限制:不做限制,当前bios上报的属性名一般不会超过70个字节
2、预留支持查多个的能力,增加预留字节:已增加预留字节