背景
新产品需要在web界面展示UB接口卡的端口和光模块以及它们的互联信息。
关联ISSUE
暂无
整体方案
新增或修改已有web rest接口
评审点
1、修改UB接口卡列表接口
2、新增UB接口卡详情接口
3、新增UB接口卡端口信息接口
4、新增UB接口卡光模块信息接口
5、新增UB接口卡端口映射关系接口
前置评审:
【已评审】NPU虚拟网卡北向接口优化 - Interface SIG / Interface评审 - openUBMC 论坛
【已评审】新增webrest接口支持web显示UB接口卡和端口信息 - Interface SIG / Interface评审 - openUBMC 论坛
详细描述
评审点1:修改UB接口卡列表接口
webrest 接口
webrest 接口 /UI/Rest/System/Boards/UBInterfaceCard
变化类型:修改已有接口
操作类型:GET
应用场景:获取UB接口卡列表
修改内容:
- 新增
Id属性 - 删除
UBPorts属性
属性列表:
| 属性 | 类型 | 示例 | 描述 |
|---|---|---|---|
| Id | String | “1” | UB接口卡ID |
响应示例:
[
{
"Id": "1",
...
}
]
评审点2:新增UB接口卡详情接口
webrest 接口
webrest 接口 /UI/Rest/System/Boards/UBInterfaceCard/:cardid
变化类型:新增URI
操作类型:GET
应用场景:获取指定UB接口卡的详细信息
属性列表:
| 一级属性 | 二级属性 | 三级属性 | 类型 | 示例 | 描述 |
|---|---|---|---|---|---|
| UBPorts | / | / | Array | UBPort口信息集合 | |
| PortId | / | Number | 1 | UBPort口id | |
| LinkStatus | / | String | “nolink” | UBPort口link状态 链路状态,取值:nolink;linkup;linkdown | |
| CableConnection | / | Number | 0 | 线缆连接状态,0:线缆检测正常,1:线缆连接错误 | |
| RelatedProcessorPorts | / | Array | 关联处理器端口列表 | ||
| ProcessorSilkText | String | “NPU1” | 处理器丝印信息 | ||
| PortId | String | “Port5” | 处理器端口Id | ||
| IODieId | Number | 0 | IO Die Id | ||
| TransceiverUrls | / | / | Array | [“…”] | 光模块Url列表 |
响应示例:
{
"UBPorts": [
{
"PortId": 1,
"LinkStatus": "nolink",
"CableConnection": 0,
"RelatedProcessorPorts": [
{
"ProcessorSilkText": "NPU1",
"PortId": "Port5",
"IODieId": 0
},
{
"ProcessorSilkText": "NPU1",
"PortId": "Port5",
"IODieId": 1
}
]
},
{
"PortId": 2,
"LinkStatus": "Down",
"CableConnection": 0,
"RelatedProcessorPorts": [
{
"ProcessorSilkText": "NPU2",
"PortId": "Port6",
"IODieId": 0
}
]
}
],
"TransceiverUrls": [
"/UI/Rest/System/Boards/UBInterfaceCard/1/Transceivers/1",
"/UI/Rest/System/Boards/UBInterfaceCard/1/Transceivers/2"
]
}
评审点3:新增UB接口卡端口信息接口
webrest 接口
webrest 接口 /UI/Rest/System/Boards/UBInterfaceCard/:cardid/Ports/:portnum
变化类型:新增接口
操作类型:GET
应用场景:获取指定UB网卡的端口统计信息
属性列表:
| 属性 | 类型 | 示例 | 描述 |
|---|---|---|---|
| TXFrames | number | 1000 | 发送帧数 |
| RXFrames | number | 1000 | 接收帧数 |
| RXFCSErrors | number | 0 | 接收帧校验错误数 |
| RXDiscards | number | 0 | 接收丢包数 |
| TXDiscards | number | 0 | 发送丢包数 |
| RetransmitCount | number | 0 | 发送重传次数 |
响应示例:
{
"TXFrames": 1000,
"RXFrames": 1000,
"RXFCSErrors": 0,
"RXDiscards": 0,
"TXDiscards": 0,
"RetransmitCount": 0
}
评审点4:新增UB接口卡光模块信息接口
webrest 接口
webrest 接口 /UI/Rest/System/Boards/UBInterfaceCard/:cardid/Transceivers/:id
变化类型:新增接口
操作类型:GET
应用场景:获取指定UB网卡的光模块详细信息
属性列表:
| 一级属性 | 二级属性 | 类型 | 示例 | 描述 |
|---|---|---|---|---|
| TransceiverType | / | Array | [“QSFP28”] | 设备类型 |
| PackagingType | / | String | “100G” | 打包类型 |
| TXBiasCurrent | / | Array | - | Tx偏置电流 |
| UpperThresholdCritical | Number | 100 | 严重告警阈值(上限) | |
| ReadingMilliAmperes | Number | 50 | 当前发送偏置电流 | |
| LowerThresholdCritical | Number | 10 | 严重告警阈值(下限) | |
| RXPower | / | Array | - | 接收功率 |
| ReadingMilliWatts | Number | 1.5 | 当前接收功率 | |
| UpperThresholdCritical | Number | 3.0 | 严重告警阈值(上限) | |
| LowerThresholdCritical | Number | 0.5 | 严重告警阈值(下限) | |
| SerialNumber | / | String | “OM9A010F14” | 序列号 |
| Temperature | / | Object | - | 温度 |
| ReadingCelsius | Number | 35 | 当前温度 | |
| UpperThresholdCritical | Number | 75 | 严重告警阈值(上限) | |
| LowerThresholdCritical | Number | 0 | 严重告警阈值(下限) | |
| Manufacturer | / | String | “Huawei” | 厂商 |
| DeviceType | / | String | “Optical” | 设备类型 |
| TXPower | / | Array | - | 发射功率 |
| ReadingMilliWatts | Number | 1.2 | 当前发送功率 | |
| UpperThresholdCritical | Number | 2.5 | 严重告警阈值(上限) | |
| LowerThresholdCritical | Number | 0.3 | 严重告警阈值(下限) | |
| ProductionDate | / | String | “2024-01-01” | 生产日期 |
| Voltage | / | Object | - | 电压 |
| ReadingVolts | Number | 3.3 | 当前电压 | |
| UpperThresholdCritical | Number | 3.6 | 严重告警阈值(上限) | |
| LowerThresholdCritical | Number | 3.0 | 严重告警阈值(下限) | |
| PartNumber | / | String | “HW-OPT-9” | 部件名称 |
| TxFaultState | / | Boolean | false | 发送错误状态 |
| MediumMode | / | String | “Monomode” | 传输模式 |
| TransferDistance | / | String | “10km” | 传输距离 |
| WaveLengthNanometer | / | String | “1310” | 纳米波长 |
| SupportedSpeedsMbps | / | Array | [] | 支持的传输速率 |
| ConnectorType | / | String | “LC” | 设备连接类型 |
| RxLosState | / | Boolean | false | 接收丢失状态 |
| SilkText | / | String | “PIC-9” | 丝印信息 |
| 响应示例: |
{
"TransceiverType": ["QSFP28"],
"PackagingType": "100G",
"TXBiasCurrent": [
{
"UpperThresholdCritical": 100,
"ReadingMilliAmperes": 50,
"LowerThresholdCritical": 10
}
],
"RXPower": [
{
"ReadingMilliWatts": 1.5,
"UpperThresholdCritical": 3.0,
"LowerThresholdCritical": 0.5
}
],
"SerialNumber": "OM9A010F14",
"Temperature": {
"ReadingCelsius": 35,
"UpperThresholdCritical": 75,
"LowerThresholdCritical": 0
},
"Manufacturer": "Huawei",
"DeviceType": "Optical",
"TXPower": [
{
"ReadingMilliWatts": 1.2,
"UpperThresholdCritical": 2.5,
"LowerThresholdCritical": 0.3
}
],
"ProductionDate": "2024-01-01",
"Voltage": {
"ReadingVolts": 3.3,
"UpperThresholdCritical": 3.6,
"LowerThresholdCritical": 3.0
},
"PartNumber": "HW-OPT-9",
"TxFaultState": false,
"MediumMode": "Monomode",
"TransferDistance": "10km",
"WaveLengthNanometer": "1310",
"SupportedSpeedsMbps": [100000, 400000],
"ConnectorType": "LC",
"RxLosState": false,
"SilkText": "PIC-9"
}
评审点5:新增UB接口卡端口映射关系接口
webrest 接口
webrest 接口 /UI/Rest/System/Boards/UBInterfaceCard/:cardid/PortMappings
变化类型:新增接口
操作类型:GET
应用场景:获取UB网卡下的所有光模块通道和网口通道的关联关系
说明:此接口属性定义与 /UI/Rest/System/NetworkAdapter/:adapterid/PortMappings 完全一致
属性列表:
| 一级属性 | 二级属性 | 三级属性 | 四级属性 | 类型 | 示例 | 描述 |
|---|---|---|---|---|---|---|
| PortMappings | / | / | Array | - | 网口的关联关系 | |
| PortId | / | Number | 1 | 网口Id | ||
| LaneMap | / | Array | - | 此网口的通道关联关系 | ||
| PortLaneId | Number | 1 | 网口通道Id | |||
| Transceiver | / | Object | - | 该网口通道关联的光模块 | ||
| SilkText | String | “OSFP-2” | 光模块丝印信息 | |||
| Id | Number | 1 | 光模块Id | |||
| LaneId | Number | 7 | 光模块通道Id |
响应示例:
{
"PortMappings": [
{
"PortId": 1,
"LaneMap": [
{
"PortLaneId": 1,
"Transceiver": {
"SilkText": "OSFP-2",
"LaneId": 7,
"Id": 1
}
},
{
"PortLaneId": 2,
"Transceiver": {
"SilkText": "OSFP-2",
"LaneId": 8,
"Id": 1
}
}
]
},
{
"PortId": 2,
"LaneMap": [
{
"PortLaneId": 1,
"Transceiver": {
"SilkText": "OSFP-3",
"LaneId": 7,
"Id": 2
}
},
{
"PortLaneId": 2,
"Transceiver": {
"SilkText": "OSFP-3",
"LaneId": 8,
"Id": 2
}
}
]
}
]
}
评审结论
评审点1:修改UB接口卡列表接口
通过
- 同意修改 webrest 接口
/UI/Rest/System/Boards/UBInterfaceCard - 同意新增
Id属性,类型为 String - 同意删除
UBPorts属性,该信息移至详情接口/UI/Rest/System/Boards/UBInterfaceCard/:cardid
评审点2:新增UB接口卡详情接口
通过
- 同意新增 webrest 接口
/UI/Rest/System/Boards/UBInterfaceCard/:cardid - 同意接口属性定义,包括 UBPorts 数组(含 PortId、LinkStatus、CableConnection、RelatedProcessorPorts)和 TransceiverUrls 数组
- LinkStatus 取值规范 nolink/linkup/linkdown 与现有网络适配器接口保持一致
- CableConnection 取值 0/1 与现有接口保持一致
- RelatedProcessorPorts 数组中包含 ProcessorSilkText、PortId、IODieId 属性
评审点3:新增UB接口卡端口信息接口
通过
- 同意新增 webrest 接口
/UI/Rest/System/Boards/UBInterfaceCard/:cardid/Ports/:portnum - 同意接口属性定义,包含 TXFrames、RXFrames、RXFCSErrors、RXDiscards、TXDiscards、RetransmitCount
- 统计信息属性命名与现有 NetworkAdapter 端口统计接口保持一致
评审点4:新增UB接口卡光模块信息接口
通过
- 同意新增 webrest 接口
/UI/Rest/System/Boards/UBInterfaceCard/:cardid/Transceivers/:id - 同意光模块属性定义,涵盖 TransceiverType、PackagingType、TXBiasCurrent、RXPower、SerialNumber、Temperature、Manufacturer、DeviceType、TXPower、ProductionDate、Voltage、PartNumber、TxFaultState、MediumMode、TransferDistance、WaveLengthNanometer、SupportedSpeedsMbps、ConnectorType、RxLosState、SilkText
- 各属性结构与现有光模块接口保持一致
评审点5:新增UB接口卡端口映射关系接口
通过
- 同意新增 webrest 接口
/UI/Rest/System/Boards/UBInterfaceCard/:cardid/PortMappings - 同意此接口属性定义与
/UI/Rest/System/NetworkAdapter/:adapterid/PortMappings保持一致 - PortMappings 数组包含 PortId 和 LaneMap,LaneMap 包含 PortLaneId 和 Transceiver(SilkText、Id、LaneId)
遗留问题
无
