2个博通200G网卡(2和11槽位)在web界面的网络适配器和pcie卡界面总线信息显示不一致问题,之前已发过类似贴:
网卡的rootBDF和Bus Device Function(BDF)的区别 - 交流互助区 - openUBMC 论坛
根据以上,网卡的rootbdf应该与pcie的bdf一致
但实际:
不是一样的,网卡的rootbdf=a2:00.0,pcie的bdf = 80:00.0,添加的network仓的相关打印rootbdf也一直是80:00.0,没有看到rootbdf改动的地方,请问改如何定位此问题呢?
查下你们的PcieAddrInfo配置是不是符合预期,是不是你们这个槽位2的卡匹配到其它槽位的bdf了
不是看这一个,是看所有的,如果有多个的话,代码匹配的时候只会匹配到第一个,至于哪个是第一个是看代码加载顺序的
匹配到第一个在位的吗?就是这个,其他的也看了一下,没有a2的bus
是跟PcieAddrInfo匹配,不是跟在位的匹配
看了所有PcieAddrInfo,都不是,我又重新看了下,现象应该是断电重启后的几分钟内,网卡的rootbdf和pcie的bdf一致,bus是80,过上几分钟就变成a2了!
一般适配的BDF都是固定分配的,要是会变的话需要知道变的规则,改代码适配,如果随心所欲的变的话目前的方案BMC没法适配
不清楚为什么会变,目前加的打印一直都是80,日志中没看到变的地方,不知道该如何定位了!
根据带内查询的结果 pcie这边的rootbdf是没变的,是最上一级的0000::80:00.0,但是这个卡是个switch设备,pcie device组件还没支持这种场景。推测是网卡network_adapter组件有通过别的途径获取总线信息,获取到的bdf跟一开始同步pcie的bdf不一样。