带内通过ibma获取网卡信息失败问题分析
更新时间: 2026/05/28
在Gitcode上查看源码问题背景
- 单板类型:鲲鹏服务器;
- 软件版本:openubmc 25.09;
- 涉及功能:网卡,iBMA,web页面,redfish;
- 设备要求:鲲鹏服务器和网迅25Ge网卡,10Ge网卡;
- 触发条件:带内通过ibma获取网卡信息。
- 业务表现:预期正常获取;实际获取失败且web和资源树上都没有内容更新。
问题复现步骤
鲲鹏服务器和网迅25Ge网卡,10Ge网卡联调过程中,带内通过ibma获取网卡信息失败。web和资源树上都没有内容更新.
关键日志信息
app.log日志如下:
定位过程
app.log可知网卡的对象及interface报错,需要结合os侧日志确认;
OS侧日志信息获取并排查,日志获取方式如下:
shellcd "$(rpm -ql iBMA2.0 | grep ibma$)" tar -zcf ibma_log.tar.gz log/ config/两条命令是先进入iBMA安装目录,再使用tar命令把iBMA的log目录和config目录文件打包。 OS版本获取方式:系统侧下发命令
shellcat /etc/*-release uname -rOS版本信息查询结果如下: 结合OS版本和日志,分析确认,OS侧BMA日志正常;
根据os侧日志信息暂未发现异常,怀疑是host_agent获取的BMA资源信息与实际BMA上报的信息不一致,按以下提供的方式执行并确认观察点:
进入OS,开启iBMA白名单透传功能,开启白名单透传功能后可以通过redfish的方式获取iBMA上报给bmc的数据,对应命令及说明如下:
textservice iBMA status cd /opt/huawei/ibma/lib/common/config/ chmod +w WhiteURLList.ini vi WhiteURLList.ini打开的文件添加一行:
text"^/redfish/v1/_SmsID/.*$"重启iBMA服务:
shellservice iBMA restart等待BMC和iBMA建链;
BMA 起来后,可以通过BMC侧直接访问BMA资源,使用postman等工具直接Get访问具体的网卡的Uri资源;
将上一步查询到的结果与host_agent资源协作接口中的相应资源内容做对比,确认是否一致;结论bmc和bma两边获取的资源内容是一致的:
text~ ~ # busctl --user introspect bmc.kepler.host_agent /bmc/kepler/Systems/1/Sms/1/ComputerSystem/Systems/1/EthernetInterfaces/0000_3Ac0_3A00_2E0_5F0000_3Ac1_3A00_2E1 NAME TYPE SIGNATURE RESULT/VALUE FLAGS bmc.kepler.sms interface - - - ._40odata_2Econtext property v s "/redfish/v1/$metadata#Systems/Member… - ._40odata_2Eid property v s "/bmc/kepler/Systems/1/Sms/1/Computer… - ._40odata_2Etype property v s "#EthernetInterface.v1_0_2.EthernetIn… - bmc.kepler.sms.redfish interface - - - .AutoNeg property v b true - .Description property v s "Beijing Wangxun Technology Co., Ltd.… - .FullDuplex property v b true - .IPv4Addresses property v ai 0 - .IPv6Addresses property v ai 0 - .Id property v s “0000:c0:00.0_0000:c1:00.1” - .LinkStatus property v s “LinkUp” - .MACAddress property v s “02:02:03:04:05:07” - .MTUSize property v x 1500 - .Manufacturer property v s “Netswift” - .Name property v s “enp193s0f1” - .SpeedMbps property v x 25000 - ._40odata_2Econtext property v s "/redfish/v1/$metadata#Systems/Member… - ._40odata_2Eid property v s "/bmc/kepler/Systems/1/Sms/1/Computer… - ._40odata_2Etype property v s "#EthernetInterface.v1_0_2.EthernetIn… - bmc.kepler.sms.redfish.OAM interface - - - ._40odata_2Eid property v s "/bmc/kepler/Systems/1/Sms/1/Computer… - bmc.kepler.sms.redfish.Oem.Huawei interface - - - .DeviceID property v s “0x5025” - .DeviceLocation property v s “PCIeRiser3” - .DeviceName property v s “FF5025-DDATACXX” - .DeviceSilkScreen property v s “PCIe Card 8 (FF5025-DDATACXX)” - .DiagnosticStatus property v x 0 - .FirmwareVersion property v s “0x20260312” - .Model property v s “WX5025” - .NICName property v s “enp193s0f1” - .OnBoot property v s “null” - .PCIePath property v s "/sys/devices/pci0000:c0/0000:c0:00.0… - .PortType property v s “Physical” - .SubsystemDeviceID property v s “0x1000” - .SubsystemVendorID property v s “0x8088” - .VendorID property v s “0x8088” - bmc.kepler.sms.redfish.Oem.Huawei.BDFNumber interface - - - .BDF property v s “0000:c1:00.1” - .PortNum property v s “null” - .RootBDF property v s “0000:c0:00.0” - bmc.kepler.sms.redfish.Oem.Huawei.DriverInfo interface - - - .DriverName property v s “txgbe” - .DriverVersion property v s “2.1.1.3klos” - bmc.kepler.sms.redfish.Sff interface - - - ._40odata_2Eid property v s "/bmc/kepler/Systems/1/Sms/1/Computer… - bmc.kepler.sms.redfish.Statistics interface - - - ._40odata_2Eid property v s "/bmc/kepler/Systems/1/Sms/1/Computer… - bmc.kepler.sms.redfish.VLANs interface - - - ._40odata_2Eid property v s "/bmc/kepler/Systems/1/Sms/1/Computer… - org.freedesktop.DBus.Introspectable interface - - - .Introspect method - s - org.freedesktop.DBus.ObjectManager interface - - - .GetManagedObjects method - a{oa{sa{sv}}} - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - -text~ ~ # busctl --user introspect bmc.kepler.host_agent /bmc/kepler/Systems/1/Sms/1/ComputerSystem/Systems/1/EthernetInterfaces/0000_3Ac0_3A00_2E0_5F0000_3Ac1_3A00_2E1/Sff NAME TYPE SIGNATURE RESULT/VALUE FLAGS bmc.kepler.sms interface - - - ._40odata_2Econtext property v s "/redfish/v1/$metadata#Systems/Member… - ._40odata_2Eid property v s "/bmc/kepler/Systems/1/Sms/1/Computer… - ._40odata_2Etype property v s "#EthernetInterface.v1_0_2.OemEtherne… - bmc.kepler.sms.redfish interface - - - .ChannelNum property v x 1 - .DiagnosticStatus property v as 1 “0x0” - .Id property v s “0000:c0:00.0_0000:c1:00.1” - .IsSffExist property v b true - .Item property v s “null” - .ManufactureDate property v s “211011” - .MediumMode property v s “MM” - .NICName property v s “enp193s0f1” - .Name property v s “Ethernet Interface Sff” - .PartNumber property v s “LTF8505-BC+” - .SerialNumber property v s “UG5BAL09237” - .SpeedMatch property v b true - .TransceiverType property v s “25GBASE-SR” - .TypeMatch property v b true - .VendorName property v s “Hisense” - .Wavelength property v s “850nm” - ._40odata_2Econtext property v s "/redfish/v1/$metadata#Systems/Member… - ._40odata_2Eid property v s "/bmc/kepler/Systems/1/Sms/1/Computer… - ._40odata_2Etype property v s "#EthernetInterface.v1_0_2.OemEtherne… - .speed property v as 1 “25000M” - .type property v s “SFP/SFP+/SFP28” - bmc.kepler.sms.redfish.Diagnostic interface - - - ._40odata_2Eid property v s "/bmc/kepler/Systems/1/Sms/1/Computer… - org.freedesktop.DBus.Introspectable interface - - - .Introspect method - s - org.freedesktop.DBus.ObjectManager interface - - - .GetManagedObjects method - a{oa{sa{sv}}} - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - -web页面结果可知,网卡信息可上报:
问题原因
iBMA未开启白名单透传功能,导致部分信息被拦截。
解决方案
按照定位过程中的说明,开启iBMA透传功能。