背景
根据标准Redfish接口要求需要新增RXBytes、TXBytes、RXErrors属性,需要在资源协作接口中新增RXBytes、TXBytes、RXErrors属性
对应Redfish接口:/redfish/v1/Chassis/1/NetworkAdapters/{networkadapter_id}/Ports/{port_id}/Metrics
对应接口:bmc.kepler.Systems.NetworkPort.Metrics
关联ISSUE
整体方案
在资源协作接口bmc.kepler.Systems.NetworkPort.Metrics中新增RXBytes、TXBytes、RXErrors属性
评审点
在资源协作接口bmc.kepler.Systems.NetworkPort.Metrics中新增RXBytes、TXBytes、RXErrors属性
详细描述
评审点1:新增资源协作接口属性RXBytes、TXBytes、RXErrors
资源协作接口:bmc.kepler.Systems.NetworkPort.Metrics下新增属性RXBytes、TXBytes、RXErrors
资源path:/bmc/kepler/Systems/:SystemID/NetworkAdapters/:ID/Ports/:ID
资源interface:bmc.kepler.Systems.NetworkPort.Metrics
新增属性
方案1:
| 属性名称 | 签名 | 只读 | 变化通知 | 属性描述 | 访问权限 | 属性来源 | 持久化类型 | 易变属性 |
|---|---|---|---|---|---|---|---|---|
| RXBytesHigh | u | true | false | 端口收到的字节数高字节,默认值:0xffffffff | R:ReadOnly | NA | 无需持久化 | true |
| RXBytesLow | u | true | false | 端口收到的字节数低字节,默认值:0xffffffff | R:ReadOnly | NA | 无需持久化 | true |
| TXBytesHigh | u | true | false | 端口发送的字节数高字节,默认值:0xffffffff | R:ReadOnly | NA | 无需持久化 | true |
| TXBytesLow | u | true | false | 端口发送的字节数低字节,默认值:0xffffffff | R:ReadOnly | NA | 无需持久化 | true |
| RXErrorsHigh | u | true | false | 端口收到的错误总数高字节,默认值:0xffffffff | R:ReadOnly | NA | 无需持久化 | true |
| RXErrorsLow | u | true | false | 端口收到的错误总数低字节,默认值:0xffffffff | R:ReadOnly | NA | 无需持久化 | true |
方案2:
| 属性名称 | 签名 | 只读 | 变化通知 | 属性描述 | 访问权限 | 属性来源 | 持久化类型 | 易变属性 |
|---|---|---|---|---|---|---|---|---|
| RXBytes | s | true | false | 端口收到的字节数,默认值:空 | R:ReadOnly | NA | 无需持久化 | true |
| TXBytes | s | true | false | 端口发送的字节数,默认值:空 | R:ReadOnly | NA | 无需持久化 | true |
| RXErrors | s | true | false | 端口收到的错误总数,默认值:空 | R:ReadOnly | NA | 无需持久化 | true |
评审结论
通过,具体结论
- 同意bmc.kepler.Systems.NetworkPort.Metrics下新增属性RXBytes、TXBytes、RXErrors
- 新增属性使用方案2,string类型,只读,读权限为RedOnly,无持久化;redfish接口展示逻辑:有值时根据实际值转换成对应数字显示(当前值是通过带外或iBMA真实获取到的有效值),无值时显示为null(当前未通过带外或iBMA成功获取到该属性);
遗留问题
新增属性不使用U64原因:
U64最大值是0xffffffffffffffff,按照该默认值设置,编译打包测试发现dbus接口默认值是0x7fffffffffffffff,达不到要求,所以改用string类型
