【网卡】BMC Web中IB网卡端口属性的统计信息异常

答案内容由AI生成,仅供参考:

网卡端口统计信息异常分析与解决方案

问题描述

OpenUBMC 25.09 版本的 BMC Web 界面中,IB 网卡 MCX755106AS-HEAT 的端口属性统计信息显示异常,具体表现为:

  • 发送与接收的字节、数据包等统计字段显示为 -14294967295(即 0xFFFFFFFF,32 位无符号整数最大值)
  • 其他基本信息(如速率、MAC 地址、固件版本等)正常显示。

该问题出现在 IB 模式 下,且 IBMA 已安装并正常运行。


环境信息

类别 信息
操作系统 openEuler 20.03 (LTS-SP3)
软件版本 OpenUBMC 25.09
硬件配置 IB 网卡:MCX755106AS-HEAT(Mellanox CX7 芯片)
IB 驱动版本 MLNX_OFED_LINUX-24.10-4.1.4.0-openeuler20.03sp3-aarch64
IBMA 版本 ≥ 2.13.0
网卡模式 IB(InfiniBand)模式

问题复现步骤

  1. 登录 BMC Web 界面。
  2. 进入 系统管理 → 系统信息 → 网络适配器
  3. 查看 IBCard 类型下的 MCX755106AS-HEAT 网卡。
  4. 在“端口属性”下的“统计信息”中,观察发送和接收字段。
    • 实际结果:关键字段显示为 -14294967295
    • 期望结果:若无流量应为 0,有流量时应为递增值。

根本原因分析(基于知识库信息)

根据提供的 知识图谱文档片段 分析,可能原因如下:

1. 统计信息读取接口未适配 IB 模式
  • 在 OpenUBMC 中,网卡统计信息(如字节、帧数等)通常通过驱动或固件接口获取。但 IB 模式下的性能统计路径不同于 Ethernet 模式
  • 文档 resource_id: 5 指出,网口状态可通过 busctl 命令从 D-Bus 接口查询,但目前的统计字段可能仍沿用 Ethernet 驱动(如 bmc.dev.NetworkPort.DataCenterBridging)的默认实现。
  • MCX755106AS-HEAT 支持多种模式(如 Ethernet、IB、RoCE),不同模式下底层数据结构和读取方式不同。
2. 驱动/固件未返回有效统计值,导致溢出或默认填充
  • 4294967295uint32 类型的最大值,在未获取到实际数据时可能被用作“无效”占位符。
  • -1 可能是 signed integer 表示的无效状态,在类型转换时未做校验。
  • 这表明:
    • BMC 端尝试读取统计信息;
    • 驱动/固件未返回有效值;
    • 返回了默认或错误码,未正确处理。
3. OpenUBMC 25.09 对 IB 卡统计支持不完善
  • 根据搜索结果 [7]《openUBMC 25.09 版本发布》

    :white_check_mark: 新增支持 E810XXVDA2G1P5、E810CQDA2G2P5、MCX755106AS-HEAT 等网卡

  • 虽然 MCX755106AS-HEAT 被列为新增支持,但支持重点可能集中在:
    • 识别与基本状态显示(型号、固件、速率、链路状态等)
    • 带外通信(NCSI over MCTP)
    • 未充分测试或实现 IB 模式下的全量性能统计
4. 统计字段绑定逻辑错误
  • 根据知识图谱,bmc.kepler.Systems.NetworkPort.Metrics 是负责收集 RXFrames 等指标的模块。
  • 若 IB 模式未正确注册该 Metrics 采集任务,或未绑定 NetworkAdapterId 到对应采集器,则会导致采集失败,返回默认异常值。

解决方案建议

:white_check_mark: 方案一:确认 IB 模式统计接口是否启用
  1. 在 OS 中使用 ibstatiblinkinfo 检查 IB 链路状态。
  2. 使用 ethtool -S ibp65s0f0 检查是否可获取统计信息。
    • 如果命令返回有效值,说明 OS 层正常;
    • 若返回全 0 或错误,需检查 OFED 驱动配置。

:white_check_mark: 方案二:检查 BMC 中统计采集逻辑配置
  1. 登录 BMC 命令行,使用 busctl 查询相关 D-Bus 接口:
    busctl --user introspect bmc.kepler.hwproxy /bmc/kepler/NetworkPort/1
    
  2. 检查是否存在 Metrics 接口或 GetStatistics 方法。
  3. 查询 bmc.kepler.Systems.NetworkPort.Metrics 是否在运行:
    systemctl status bmc-kepler-networkport-metrics
    

:white_check_mark: 方案三:升级到 LTS 或更新版本
  • OpenUBMC 25.09 为功能增强版,可能存在未修复的边缘场景 Bug
  • 知识库中提及 openUBMC 2512LTS 为长期支持版本,建议作为升级目标:

    {"entity": "openUBMC 2512LTS", "description": "OpenUBMC software version 25.12.00.02, a long-term support release targeted for upgrade."}

  • 同时,openUBMC 25.0625.09 的前序版本,已知存在接口变更问题,25.09 已包含修复。

建议动作

升级至 openUBMC 2512LTS 或等待 25.12 版本中对 IB 统计功能的完善。


:white_check_mark: 方案四:提交社区 Issue 并补充日志
  1. 收集以下日志提交至 openUBMC 社区:

    • journalctl -u bmc-kepler-network-adapter
    • journalctl -u bmc-kepler-networkport-metrics
    • dmesg | grep mlx5
    • ibstat, ibstatus, ethtool -S ibp65s0f0
  2. 提交 Issue 至 openUBMC GitHub,标题建议:

    【Bug】IB Mode Statistics Show -1 or 0xFFFFFFFF on MCX755106AS-HEAT


临时规避措施

  • 若仅需监控链路状态,可依赖 Port1 LinkUp 状态字段,该字段在截图中显示正常。
  • 使用 OS 端工具(如 ibstat, counters)替代 BMC Web 的统计信息。
  • 禁用 Web 界面统计字段显示(如支持配置项)。

总结

项目 结论
问题类型 统计数据显示异常(无效值)
根本原因 IB 模式下统计采集逻辑未适配或驱动未返回有效值
影响版本 OpenUBMC 25.09(部分场景)
是否已支持该网卡 是(MCX755106AS-HEAT 已列入 25.09 支持列表)
是否为 Bug ,属于 IB 模式下统计功能缺失
推荐解决路径 升级至 openUBMC 2512LTS 或提交社区修复

建议最终动作
:small_blue_diamond: 短期:使用 OS 命令替代 BMC 统计监控
:small_blue_diamond: 长期:升级至 openUBMC 2512LTS 并跟踪社区对该问题的修复进展。

相关链接:

  1. 安装BMA以后读取的端口速率和光模块速率不一致
  2. openUBMC 25.06 版本适配E810网卡,PCIe卡信息未显示
  3. 【公示中,下次评议时间7.28】网卡驱动规范v0.1
  4. 【变更声明】资源协作接口GetPolicyGuidances响应签名变更
  5. 网卡开发指南 | 文档中心 | openUBMC