network_adapter
更新时间: 2025/12/31
在Gitcode上查看源码

功能简介

network_adapter主要负责网卡信息的获取与管理,网口的NCSI功能。

  • 网卡信息的获取来源分为两种:
    1. 带外通过mctp、smbus等协议获取
    2. 带内通过BMA上报的信息获取
  • 网口的NCSI功能主要是对支持NCSI功能的网卡进行NCSI channel相关的配置,使得BMC能通过网卡的NCSI通路与外界通信。

代码目录结构

shell
├── src
   ├── lualib
   ├── bma
   ├── handles
   ├── handler_base.lua               -- 处理BMA上报信息的基本函数
   ├── handler_eth_statistics.lua     -- 处理BMA上报的网口统计信息,包含添加、更新、重置等操作
   ├── handler_eth.lua                -- 处理BMA上报的网口基本信息,包含添加、更新、重置等操作
   ├── handler_optical_diag.lua       -- 处理BMA上报的光模块诊断信息,包含添加、更新、重置等操作
   ├── handler_optical.lua            -- 处理BMA上报的光模块基本信息,包含添加、更新、重置等操作
   ├── handler_vlan.lua               -- 处理BMA上报的vlan信息,包含添加、更新、重置等操作
   └── init.lua
   ├── bma_mdb_mgmt.lua                   -- BMA资源管理的基本函数
   └── init.lua
   ├── debug
   └── init.lua                           -- Ncsi over mctp的调试命令接口函数
   ├── device
   ├── class
   ├── vlan
   ├── init.lua                   -- VLAN对象的生成和基本信息获取设置
   ├── ipv4_address.lua           -- VLAN的ipv4对象的生成和基本信息获取设置
   └── ipv6_address.lua           -- VLAN的ipv6对象的生成和基本信息获取设置
   ├── ipv4_address.lua               -- ipv4对象的生成和基本信息获取设置,对比上面少了VLAN
   ├── ipv6_address.lua               -- ipv6对象的生成和基本信息获取设置,对比上面少了VLAN
   ├── log_collector.lua              -- 日志收集相关,包含创建删除日志路径,日志收集信号触发
   ├── network_adapter.lua            -- 网卡相关业务代码
   ├── network_port.lua               -- 网口相关业务代码
   └── optical_module.lua             -- 光模块相关业务代码
   └── device_manager.lua                 -- 设备管理相关,包含method、ipmi命令的实现
   ├── hardware_config
   ├── CX4.lua                            -- CX4型号网卡(例如SP333、SP380)协议的使用,当前仅支持ncsi over mctp
   ├── CX5.lua                            -- CX5型号网卡(例如SP351、SP382)协议的使用,当前仅支持ncsi over mctp,比CX4少了lldp
   ├── CX6-DX.lua                         -- CX6-DX型号网卡(例如MCX623105AN-VDAT)协议的使用,与CX5完全一致
   ├── Gemini.lua                         -- 尝试实现的SDI卡协议使用,std_smbus
   ├── Hi182X.lua                         -- 182X系列网卡(SP580)协议的使用,支持smbus、ncsi/pldm over mctp
   ├── imu
   └── init.lua                           -- 从IMU获取PCI配置(含四元组)信息
   ├── infrastructure
   └── fructl.lua                         -- 获取fructl相关属性
   ├── ncsi
   ├── ncsi_comm.lua                      -- ncsi数据处理
   ├── ncsi_core.lua                      -- ncsi协议接口,lua层处理c库接口
   ├── ncsi_info.lua                      -- ncsi数据处理
   ├── ncsi_lldp.lua                      -- lldp相关
   ├── ncsi_service.lua                   -- ncsi初始化
   └── ncsi_worker.lua                    -- 接收ncsi报文
   ├── network_adapter_app.lua
   ├── lualib-src                                 -- 与ncsi有关的c库,包含通过NCSI发送报文的实现
   ├── ncsi_protocol
   ├── adapter.h
   ├── CMakeLists.txt
   ├── l_ncsi_protocol.c
   ├── lldp_over_ncsi.c
   ├── ncsi_socket.c
   ├── ncsi_socket.h
   ├── ncsi.c
   ├── ncsi.h
   └── vos.c
   └── CMakeLists.txt
   └── service
       └── main.lua

组件内主要类

  1. NetworkAdapter:网卡设备信息
  2. NetworkPort:网口设备信息
  3. OpticalModule:光模块设备信息

NetworkAdapter拥有N个NetworkPort,每个NetworkPort拥有0/1个OpticalModule,通过 "@Parent"属性关联上。

已适配网卡

  1. NIC卡:板载网卡(Lom卡),灵活IO插卡
  2. PCIE标卡:pcie网卡,需要Riser卡
  3. SDI卡:比较特殊的智能网卡
  4. OCP卡:由Open Compute Project(开放计算项目)推出的一种服务器网络接口卡
  5. FC卡:光纤通道网卡

关键特性

带外协议获取网卡信息

网卡协议:

NCSI标准协议

mctp标准协议

LLDP官方网站

smbus协议

ncsi over mctp over pcie

绝大多数网卡都支持该协议,可以获取以下信息:网卡的厂商信息、网卡芯片温度、网卡支持的最大带宽能力、网卡支持的最大速率能力、网卡实际带宽、网卡实际速率、网卡故障状态、网口的报文收发信息、网口的链路状态、网口总线信息、光模块温度、网口工作的mac地址、网口的永久mac地址、光模块信息等。

pldm over mctp over pcie

仅涉及SDI5x/SDI6x收集黑匣子日志,未来计划FC卡通过该协议获取带外信息。

smbus

仅182x网卡支持,可以获取以下信息:网卡健康状态、网卡故障状态、网卡芯片温度、网卡错误日志、网卡临终遗言日志、网卡运行日志、光模块温度、网口链接状态、网口mac地址等。

std_smbus

当前预留,给后续SDI的mcu交互使用。

lldp

接收LLDP信息,获取以下信息:从网络交换机接收到的Chassis ID、从网络交换机接收到的Chassis ID类型、从网络交换机接收到的端口ID、从网络交换机接收到的端口ID类型、网络交换机名称、从网络交换机接收到的VLAN ID。

带内BMA获取网卡信息

网口信息通过以下路径传递到network_adapter:带内->sms接口->host_agent->network_adapter,network_adapter通过监听host_agent与网口相关的资源协作接口对象的变化,包括上树、修改、下树等信号,对网口信息进行汇总管理,其中信息包括但不限于网口连接状态、网口速率、网口IPv4、IPv6、mac地址、BDF、网卡固件版本、bond网口、bridge网口、光模块相关信息等。

网卡NCSI功能

部分网卡(PCIe卡、OCP卡)具备NCSI功能,简单理解即BMC可通过NCSI通道与网卡相连,实现BMC的带外通信。NCSI通道的报文分为两种:NCSI控制报文和网络透传报文,BMC想实现NCSI网口的带外通信功能,需要发送NCSI控制报文对网卡进行NCSI相关配置,以实现NCSI通道可以进行网络透传报文传输,另外还需要与bmc_network组件进行交互实现BMC的NCSI网口带外通信,主要分为以下几点:

1、初始化时识别网卡是否具备NCSI功能,识别到NCSI网口后上报给bmc_network注册一个NCSI网口,并实时更新NCSI网口的link状态变化。

2、bmc_network切换到NCSI网口时发送信号给network_adapter,network_adapter将使能网口对应的NCSI通道的Tx,从NCSI网口切换回专用网口时,关闭原NCSI通道的Tx。

3、bmc_network设置NCSI的VLAN后发送信号给network_adapter,network_adapter配置NCSI通道的vlan_filter,允许该VLAN的报文在NCSI通道传输。

对外接口

资源协作接口RPC方法

接口方法描述
bmc.kepler.Systems.NetworkAdaptersGetNetCardPortNum获取网卡对应的网口数量
bmc.kepler.Systems.NetworkAdaptersGetPortSpeed获取网口速率
bmc.kepler.Systems.NetworkAdaptersGetNetworkAdapterNum获取网卡数量
bmc.kepler.Systems.NetworkAdaptersGetNetworkPortNum获取网口总数量
bmc.kepler.Systems.NetworkAdaptersGetPortSpeed获取网口速率
bmc.kepler.Systems.NetworkAdaptersGetBandwidthHistory获取各个网卡的端口带宽占用率历史数据
bmc.kepler.Systems.NetworkAdaptersClearBandwidthHistory清空各个网卡的端口带宽占用率历史数据
bmc.kepler.Systems.NetworkAdaptersSetBandwidthThreshold设置网络带宽占用率门限
bmc.kepler.Systems.NetworkAdapterStartRemovingDevice热拔出网卡
bmc.kepler.Systems.NetworkAdapterDumpBlackBox收集SDI卡黑匣子日志
bmc.kepler.Systems.NetworkPortConfigure配置网口信息
bmc.kepler.Systems.NetworkPort.VLANsCreateVLAN创建网口VLAN
bmc.kepler.Systems.NetworkPort.VLANConfigureVLAN修改VLAN配置
bmc.kepler.Systems.NetworkPort.VLANDeleteVLAN删除VLAN
bmc.kepler.Systems.NetworkBondingsCreateBond创建bond
bmc.kepler.Systems.NetworkBondingsDeleteBond删除bond
bmc.kepler.Systems.NetworkBondingsSetLinkMonitorPeriodMS设置连接状态检测周期
bmc.kepler.Debug.Systems.NCSISendCmdOverMCTP用于调试NCSIoverMCTP命令
bmc.kepler.Debug.Systems.NetworkAdaptersDumpDebug命令收集网卡基本信息

IPMI命令

命令描述
WriteMacAddress设置网口的mac地址你,通常是bios调用
GetMacAddress获取网口的mac地址
GetBusinessPortInfo查询网口的信息
SetIPMCConfiguration设置NCSI channel的Rx
GetIPMCConfiguration获取NCSI channel的Rx
GetNetworkAdapterModelByLOM通过BDF进行板载网卡芯片型号查询
GetNetworkAdapterModelByOCPCard通过BDF进行OCP扣卡芯片型号查询

资源协作接口属性

1.NetworkAdapters

路径名:"/bmc/kepler/Systems/:SystemId/NetworkAdapters"
privilege: ReadOnly

接口:"bmc.kepler.Systems.NetworkAdapters"

属性:无

接口:"bmc.kepler.Systems.NetworkBondings"

属性:无

2.NetworkAdapter

路径名:"/bmc/kepler/Systems/:SystemID/NetworkAdapters/:ID"
privilege: ReadOnly
table名: "t_network_adapter"

接口:"bmc.kepler.Systems.NetworkAdapter"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
ID网卡ID--------String----
SystemID系统ID--------U8----
Name网卡型号名称--------String----
DisplayName网卡显示名称--------String----
Manufacturer厂商名称--------String----
Description网卡描述--------String----
Position网卡容器信息--------String----
DeviceLocator网卡丝印信息--------String----
Type网卡类型--------U8----
NetworkPortCount网口个数--------U8----
Model芯片型号--------String----
ChipVendor芯片厂商--------String----
ModelDescription芯片型号描述--------String----
ChipManufacturer芯片厂商--------String----
DriverName驱动名称--------String----
DriverVersion驱动版本--------String----
SlotNumber槽位号--------U8----
NetDevFuncCapabilities网卡支持的协议,0:Disabled 1:Ethernet 2:FC 4:iSCSI 8:FCoE 16:OPA 32:IB--------U8----
RootBDF网卡BDF信息--------String----
FirmwareVersion固件版本--------String----
VendorID厂商ID--------String----
DeviceID设备ID--------String----
SubsystemVendorID子系统厂商ID--------String----
SubsystemDeviceID子系统设备ID--------String----
BoardID单板ID--------U16----
BoardName单板名称--------String----
BoardIDHex十六进制单板ID--------String----
ComponentUniqueID组件唯一标识--------String----
PCBVersionPCB版本--------String----
AssociatedResource网卡资源归属--------String----
SupportedMctp网卡是否支持MCTP--------Boolean----
HotPluggable网卡是否支持热插拔--------Boolean----
ReadyToRemove热拔出是否已准备好--------Boolean----
AttentionHotPlugState热插拔状态:0 - 不可操作;1 - 可拔出;2 - 可插入;其他 - 未知--------U8----
SerialNumber序列号--------String----
PreviousSerialNumber更换前的序列号--------String----
TemperatureCelsius芯片温度--------S16----
TemperatureStatus芯片温度状态:0 - 正常;1 - 失效--------U8----
MaxOperatingTemperatureCelsius网卡在稳态下支持的最大温度--------U16----
LLDPSupported网卡是否支持LLDP--------Boolean----
FruId网卡电子标签--------U8----
PredictiveFault预测故障标志位--------U8----
DiagnosticFault故障诊断定位标志位--------U8----
ReplacedFlag网卡更换标志位--------U8----
SupportedLLDP网卡是否支持LLDP--------Boolean----
ParentCardSlotId关联上一级卡的槽位号--------U8----
PfMacInfoPhysical Function Mac信息------PfMacInfoItemArray----
BandwidthThresholdPercent网络带宽占用率门限--------U16----
NodeId网卡NodeId--------String----

接口:"bmc.kepler.Systems.NetworkAdapter.NetworkAdapterMetrics"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
LinkWidthCapability网卡支持的最大带宽能力--------String----
LinkSpeedCapability网卡支持的最大速率能力--------String----
LinkWidth网卡实际带宽--------String----
LinkSpeed网卡实际速率--------String----
SFPMaxTemperatureCelsius光模块最大温度,用于调速,单位:摄氏度--摄氏度----S16----

接口:"bmc.kepler.Systems.NetworkAdapter.Status"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
Health网卡健康状态, 0:OK, 1:Minor, 2:Major, 3:Critical--------U8----
FaultCode异常码--------String----
FaultState故障状态,用于告警配置--------U32----
PowerStatusHi182x网卡电源状态,用于告警配置,1:正常, 0:异常, 255:未知--------U8----

接口:"bmc.kepler.Inventory.Hardware"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
AssetType硬件资产类型--------String----
AssetName硬件资产名称--------String----
SerialNumber硬件资产序列号--------String----
FirmwareVersion硬件资产固件版本--------String----
PCBVersion硬件资产PCB版本--------String----
Manufacturer硬件资产制造商--------String----
AssetTag硬件资产标签--------String----
PartNumber硬件资产部件编号--------String----
ManufactureDate硬件资产生产日期--------String----
Slot硬件槽位号--------String----
UUID硬件UUID号--------String----
Model硬件资产型号--------String----

3.NetworkPort

 路径名:":parent/Ports/:ID"
 privilege: ReadOnly
 table名: "t_network_port"
 parent: "NetworkAdapter"

接口:"bmc.kepler.Systems.NetworkPort"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
SystemID系统ID--------U8----
NodeId网口NodeId--------String----
Name网口名称--------String----
Type网口类型--------U8----
PortID网口ID--------U8----
PermanentMACAddress永久MAC地址--------String----
MACAddressMAC地址--------String----
LinkStatus链路状态LinkUp,NoLink,LinkDown,N/A,Connected,Disconnected------String----
LinkStatusNumeric链路状态--------U8----
IPv6DefaultGatewayIPv6默认网关--------String----
WorkMode工作模式Loop,NonLoop------String----
FunctionType网口类型:物理,虚拟Virtual,Physical------String----
BDF网口BDF--------String----
AutoConnectOnBoot开机是否自动启用网络连接--------Boolean----
NetDevFuncType网络设备功能类型,0:Disabled 1:Ethernet 2:FC 4:iSCSI 8:FCoE 16:OPA 32:IB--------U8----
MediumType网口介质类型Copper,FiberOptic------String----
SpeedMbps链路速率--Mbps----U32----
FullDuplex是否开启全双工--------Boolean----
AutoSpeedNegotiation是否处于自协商模式--------Boolean----
FirmwareVersion固件版本--------String----
DriverName驱动名称--------String----
DriverVersion驱动版本--------String----
LLDPEnabled网口LLDP使能 false:关闭使能 true:打开使能--------Boolean----
SupportedLinkCapability支持的传输速率--------String----
NetworkAdapterId对应的网卡ID属性--------String----
LinkMonitorPeriodMS网口链路监测周期,单位毫秒--毫秒----U32----
UUID网口全球唯一标识,用于IB卡。只读属性,默认为空。--------String----
WorkloadType工作负载类型,0:负载服务器os;1:负载智能网卡的os;2:服务器os及智能网卡os均卸载--------U8----

接口:"bmc.kepler.Systems.NetworkPort.Metrics"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
RXFrames收到的帧数量--------String----
TXFrames发送的帧数量--------String----
PacketsDropped丢包总数--------U64----
RXUnicastFrames收到的单播帧数量--------String----
RXMulticastFrames收到的多播帧数量--------String----
RXBroadcastFrames收到的广播帧数量--------String----
TXUnicastFrames发送的单播帧数量--------String----
TXMulticastFrames发送的多播帧数量--------String----
TXBroadcastFrames发送的广播帧数量--------String----
RXFCSErrors接收到的校验错误帧数量--------String----
RXUndersizeFrames接收到的超小帧数量--------String----
RXOversizeFrames接收到的超长帧数量--------String----
TXSingleCollisions发送的单碰撞帧数量--------String----
TXMultipleCollisions发送的多碰撞帧数量--------String----
TXLateCollisions发送的延迟碰撞帧数量--------String----
TXExcessiveCollisions发送的超量碰撞帧数量--------String----
RXFrameAlignmentErrors接收的对齐错误的帧数量--------String----
BandwidthUsagePercent网络带宽占用率--------Double----

接口:"bmc.kepler.Systems.NetworkPort.DataCenterBridging"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
Up2cosDCB 信息中的 Up2cos--------U8[]----
UppgidDCB 信息中的 Uppgid--------U8[]----
PgpctDCB 信息中的 Pgpct--------U8[]----
PgStrictDCB 信息中的 PgStrict--------U8[]----
PfcmapDCB 信息中的 Pfcmap--------U8----

接口:"bmc.kepler.Systems.NetworkPort.LLDPReceive"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
ChassisId从网络交换机接收到的Chassis ID--------String----
ChassisIdSubtype从网络交换机接收到的Chassis ID类型--------String----
PortId从网络交换机接收到的端口ID--------String----
PortIdSubtype从网络交换机接收到的端口ID类型--------String----
SystemName网络交换机名称--------String----
ManagementVlanId从网络交换机接收到的VLAN ID--------U16----

接口:"bmc.kepler.Systems.NetworkPort.FibreChannel"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
FCIdFC ID信息--------String----
WWNN当前生效WWNN号--------String----
PermanentWWNN出厂WWNN号--------String----
WWPN当前生效WWPN号--------String----
PermanentWWPN出厂WWPN号--------String----
SpeedGbps端口链接速率,用于FC卡--Gb----U32----

4.VLANs

 路径名:":parent/VLANs"
 privilege: ReadOnly
 parent: "NetworkPort"

接口:"bmc.kepler.Systems.NetworkPort.VLANs"

属性:无

5.VLAN

 路径名:":parent/VLANs/:ID"
 privilege: ReadOnly
 parent: "NetworkPort"
 table名: "t_network_vlan"

接口:"bmc.kepler.Systems.NetworkPort.VLAN"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
VLANIdVLAN ID--------U16----
VLANEnabledVLAN是否启用--------Boolean----
VLANPriorityVLAN优先级--------U8----
AutoConnectOnBootVLAN是否在系统启动时自动创建和启用--------Boolean----

6.IPv4Address

  路径名:":parent/IPv4Addresses/:ID"
  privilege: ReadOnly
  parent: "NetworkPort"
  table名: "t_network_ipv4_address"

接口:"bmc.kepler.Systems.IPv4Address"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
AddressIP地址--------String----
SubnetMask子网掩码--------String----
Gateway网关--------String----
AddressOrigin地址模式Static,DHCP------String----

7.IPv6Address

   路径名:":parent/IPv6Addresses/:ID"
   privilege: ReadOnly
   parent: "NetworkPort"
   table名: "t_network_ipv6_address"

接口:"bmc.kepler.Systems.IPv6Address"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
AddressIP地址--------String----
PrefixLength前缀长度--------String----
AddressState地址状态Deprecated,Failed,Preferred,Tentative------String----
AddressOrigin地址来源DHCPv6,LinkLocal,SLAAC,Static------String----
Gateway网关--------String[]----

8.VLANIPv4Address

   路径名:":parent/IPv4Addresses/:ID"
   privilege: ReadOnly
   parent: "VLAN"
   table名: "t_network_vlan_ipv4_address"

接口:"bmc.kepler.Systems.IPv4Address"

属性:同IPv4Address对象

9.VLANIPv6Address

   路径名:":parent/IPv6Addresses/:ID"
   privilege: ReadOnly
   parent: "VLAN"
   table名: "t_network_vlan_ipv6_address"

接口:"bmc.kepler.Systems.IPv6Address"

属性:同IPv6Address对象

10.OpticalModule

    路径名:":parent/OpticalModule"
    privilege: ReadOnly
    parent: "NetworkPort"
    table名: "t_optical_module"

接口:"bmc.kepler.Systems.OpticalModule"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
Name名称--------String----
Manufacturer厂商名称--------String----
PartNumber厂商部件名称--------String----
SerialNumber序列号--------String----
RevisionNumber产品修订版本号, ASCII字符串, 长度为2字符--------String----
ProductionDate生产日期--------String----
TransceiverType收发器类型--------String----
FiberConnectionType传输模式--------String----
WaveLengthNanometer波长,单位纳米--纳米----String----
Type类型--------String----
SupportedSpeedsMbps支持的速率--------Double[]----
Health健康状态--------U8----
Identifier识别码--------String----
ConnectorType连接器类型--------String----
MediumType介质类型Optical,Electric,Copper,Aoc,Interface,Baset------String----
TransmissionDistance传输距离--------String----
RxLossState发送端信号是否丢失--------Boolean----
TxLossState接收端信号是否丢失--------Boolean----
TxFaultState接收端是否故障--------Boolean----
TypeMatch类型是否匹配--------Boolean----
SpeedMatch速率是否匹配--------Boolean----
FaultState故障状态--------U32----
TemperatureCelsius光模块温度(用于告警)--------Double----
PowerState功率异常标志位(用于告警)--------U8----
IsSupportedType网卡支持速率与光模块速率不匹配标志位(用于告警)--------U8----
Presence光模块是否在位--------U8----
ChannelNum光模块内部通道数--------U8----
RxSNR端口接收信噪比--------Double[]----
HostSNR主机侧信噪比--------Double[]----
MediaSNR介质侧信噪比--------Double[]----
Accessible光模块是否可访问,0为不可访问,1为可访问--------U8----
ModuleState光模块当前运行状态, 默认值为255, 1: ModuleLowPwr, 2: ModulePwrUp, 3: ModuleReady, 4: ModulePwrDn, 5: ModuleFault, 其余取值为光模块厂家自定义状态--------U8----
RelatedNetworkPorts光模块关联的网口Id--------U8[]----

接口:"bmc.kepler.Systems.OpticalModule.BiasCurrent"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
TXBiasCurrentMilliAmps读取的电流,单位毫安--毫安----Double[]----
TXBiasCurrent1MilliAmps读取的通道1的电流,单位毫安--毫安----Double----
TXBiasCurrent2MilliAmps读取的通道2的电流,单位毫安--毫安----Double----
TXBiasCurrent3MilliAmps读取的通道3的电流,单位毫安--毫安----Double----
TXBiasCurrent4MilliAmps读取的通道4的电流,单位毫安--毫安----Double----
TXBiasCurrent5MilliAmps读取的通道5的电流,单位毫安--毫安----Double----
TXBiasCurrent6MilliAmps读取的通道6的电流,单位毫安--毫安----Double----
TXBiasCurrent7MilliAmps读取的通道7的电流,单位毫安--毫安----Double----
TXBiasCurrent8MilliAmps读取的通道8的电流,单位毫安--毫安----Double----
TXBiasCurrentStatus偏置电流异常状态;每个bit对应一个通道,某个bit取值1表示是对应偏置电流通道故障;当前光模块最多8通道,属性预留32位便于扩展--------U32----
TXLowerThresholdCritical发送偏置电流告警下限阈值--------Double----
TXUpperThresholdCritical发送偏置电流告警上限阈值--------Double----
BiasCurrentTXUpperThresholdWarning发送偏置电流警告上限阈值--------Double----
BiasCurrentTXLowerThresholdWarning发送偏置电流警告下限阈值--------Double----

接口:"bmc.kepler.Systems.OpticalModule.Power"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
RXInputPowerMilliWatts读取的接收功率,单位毫瓦--毫瓦----Double[]----
RXInputPowerStatus接收功率异常状态;每个bit对应一个通道,某个bit取值1表示是对应接收功率通道故障;当前光模块最多8通道,属性预留32位便于扩展--------U32----
RXLowerThresholdCritical接收功率告警下限阈值--------Double----
RXUpperThresholdCritical接收功率告警上限阈值--------Double----
TXOutputPowerMilliWatts读取的发送功率,单位毫瓦--毫瓦----Double[]----
TXOutputPowerStatus发送功率异常状态;每个bit对应一个通道,某个bit取值1表示是对应发送功率通道故障;当前光模块最多8通道,属性预留32位便于扩展--------U32----
TXLowerThresholdCritical发送功率告警下限阈值--------Double----
TXUpperThresholdCritical发送功率告警上限阈值--------Double----
PowerTXUpperThresholdWarning发送功率警告上限阈值--------Double----
PowerTXLowerThresholdWarning发送功率警告下限阈值--------Double----
PowerRXUpperThresholdWarning接收功率警告上限阈值--------Double----
PowerRXLowerThresholdWarning接收功率警告下限阈值--------Double----
PowerClass光模块功耗分类, 默认值为255, 分类对应功耗由光模块协议定义--------U8----
PowerCapacityWatts光模块允许的最大额定功耗------Double----

接口:"bmc.kepler.Systems.OpticalModule.Temperature"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
ReadingCelsius读取的芯片温度--------Double----
LowerThresholdCritical下限阈值--------Double----
UpperThresholdCritical上限阈值--------Double----
TemperatureLowerThresholdCritical低温告警阈值--------Double----
TemperatureUpperThresholdCritical高温告警阈值--------Double----
TemperatureLowerThresholdWarning低温警告阈值--------Double----
TemperatureUpperThresholdWarning高温警告阈值--------Double----

接口:"bmc.kepler.Systems.OpticalModule.Voltage"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
SupplyVoltage供电电压--------Double----
LowerThresholdCritical下限阈值--------Double----
UpperThresholdCritical上限阈值--------Double----
VoltageLowerThresholdCritical低压告警阈值--------Double----
VoltageUpperThresholdCritical高压告警阈值--------Double----
VoltageLowerThresholdWarning低压警告阈值--------Double----
VoltageUpperThresholdWarning高压警告阈值--------Double----

接口:"bmc.kepler.Systems.OpticalModule.Diagnose"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
RxLossOfLock接受方向的CDR失败状态--------U8----
TxLossOfLock发送方向的CDR失败状态--------U8----
LaserRuntimeSeconds激光器运行时间,单位:秒------U32----
LaserTemperatureCelsius激光器管芯温度--------Double----
PowerOnCount模块上电次数--------U16----
UptimeSeconds模块上电时间,单位:秒------U32----
PowerStatus模块上电状态--------U16----
OdspDieTemperatureCelsiusODSP结温--------Double----
OdspHighTempRuntimeSecondsODSP高温运行时间,单位:秒------U32----
SelfTestStatus光模块自体诊断告警状态,轻微隐患和严重故障各32bit--------U64----
MediaInterfaceFaultStatus光链路告警状态,轻微隐患和严重故障各8bit,每个bit分别代表通道1至8状态,0代表正常,1代表有错误信息--------U16----
HostInterfaceFaultStatus电链路告警状态,轻微隐患和严重故障各8bit,每个bit分别代表通道1至8状态,0代表正常,1代表有错误信息--------U16----
RxLoS接收端LoS(信号丢失);每个bit对应一个通道,某个bit取值1表示是对应通道故障;当前光模块最多8通道,属性预留32位便于扩展--------U32----
TxLoS发送端LoS(信号丢失);每个bit对应一个通道,某个bit取值1表示是对应通道故障;当前光模块最多8通道,属性预留32位便于扩展--------U32----
TxFault发送错误;每个bit对应一个通道,某个bit取值1表示是对应通道故障;当前光模块最多8通道,属性预留32位便于扩展--------U32----
PRBSTestSupported此光模块是否支持PRBS压测--------Boolean----
FiberDirtyDetected光模块是否脏污--------Boolean----
FiberLoosenessDetected光模块是否松动--------Boolean----

接口:"bmc.kepler.Metric"

属性:无

接口:"bmc.kepler.Inventory.Hardware"

属性:同NetworkAdapter对象

11.OpticalModuleChannel

    路径名:":parent/Channel/:ID"
    privilege: ReadOnly
    parent: "OpticalModule"
    table名: "t_optical_module_channel"

接口:"bmc.kepler.Systems.OpticalModule.Channel"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
Id光模块RX/TX通道号--------U8----
BiasCurrentMilliAmps通道的偏置电流,单位毫安--毫安----Double----
RXPowerMilliWatts通道的接收功率,单位毫瓦--毫瓦----Double----
TXPowerMilliWatts通道的发送功率,单位毫瓦--毫瓦----Double----

12.DftNCSI

    路径名:"/bmc/kepler/Manufacture/PrepareTest/DftNCSI/${Id}"
    privilege: ReadOnly

接口:"bmc.kepler.Manufacture"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
Type装备测试项类型,1人工自检,2需要人工准备前置条件,3拷机测试,4人工检查结果,5人工操作测试,6与装备交互测试--------U8----
Id装备测试项id--------U8----
Slot槽位号--------U32----
DeviceNum设备id--------U8----
Param测试项传入的参数--------U8[]----
ItemName设备名称--------String----
PrompteReady测试前交互提示--------String----
PrompteFinish测试完成交互提示--------String----
ProcessPeriod测试所需时间--------U16----
Status当前测试状态Complete,Testing,Unstart------String----

13.NCSI

    路径名:"/bmc/kepler/Debug/Systems/${SystemId}/NCSI"
    privilege: ReadOnly

接口:"bmc.kepler.Debug.Systems.NCSI"

属性:无

14.NetworkBridge

路径名:"/bmc/kepler/Systems/:SystemId/NetworkBridges/:ID"
privilege: ReadOnly
table名: t_network_bridge

接口:"bmc.kepler.Systems.NetworkBridge"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
Id网桥ID--------String----
Name网桥名称--------String----

15.NetworkBridgePort

路径名:"/bmc/kepler/Systems/:SystemID/NetworkBridges/:ID/Ports/:PortID"
privilege: ReadOnly
table名: t_network_bridge_port

接口:"bmc.kepler.Systems.ContainedPort"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
NodeId包含物理网口ID--------String----

16.NetworkBonding

路径名:"/bmc/kepler/Systems/:SystemId/NetworkBondings/:ID"
privilege: ReadOnly
table名: t_network_bonding

接口:"bmc.kepler.Systems.NetworkBonding"

属性:

字段说明约束单位互斥关系依赖关系格式样例唯一性要求兼容性要求
IdBonding ID, 由BMA获取bonding资源时生成--------String----
NameBonding 名称, 在创建bonding资源时生成--------String----

17.NetworkBondingPort

路径名:"/bmc/kepler/Systems/:SystemID/NetworkBondings/:ID/Ports/:PortID"
privilege: ReadOnly
table名: t_network_bonding_port

接口:"bmc.kepler.Systems.ContainedPort"

属性:同NetworkBridgePort对象

18.PRBSTest

路径名:"/bmc/kepler/Managers/:Id/DiagnosticService/PRBSTest"

接口:"bmc.kepler.Managers.DiagnosticService.PRBSTest"

属性:无

19.NetworkAdaptersDebug

路径名:"/bmc/kepler/Debug/Systems/${SystemId}/NetworkAdaptersDebug"
privilege: SecurityMgmt

接口:"bmc.kepler.Debug.Systems.NetworkAdapters"

属性:无

配置介绍

关键类定义

NetworkAdapter(网卡类)

属性说明
ID全局唯一
NodeId与ID相同,全局唯一
SlotNumber槽位号
Name网卡名称
Manufacturer厂商名称
Description网卡描述
DeviceLocator网卡丝印信息
Type网卡类型:1-Lom,3-PCIe,10-OCP
Model芯片型号,芯片型号决定了该网卡支持哪些协议
ChipManufacturer芯片厂商
VendorID厂商ID
DeviceID设备ID
SubsystemVendorID子系统厂商ID
SubsystemDeviceID子系统设备ID
PCBVersionPCB版本

NetworkPort(网口类)

属性说明
@Parent父对象(即网卡),表示该网口属于哪张网卡
NodeId全局唯一
Name网口名称
Type网口类型
Name网卡名称
PortID网口ID
MACAddressMAC地址
PermanentMACAddress永久MAC地址
LinkStatus网口状态