在2512LTS版本中,网卡热拔插的逻辑有改变:热拔插相关属性改变了:NetworkAdapter.CardPowerGood改为PCIeSlot.PowerState,NetworkAdapter.ReadyToRemove改为PCIeSlot.ReadyToRemove。
从pcie_device组件里的代码看热拔插相关属性是这么改的:
PowerOnSwitch和ReadyToRemove都是对pcie卡进行下电,这俩的区别是什么?
在2512LTS的VPD仓里没有看到PCIeSlot配置,能否给出一个配置示例?
2512的LTS VPD和component_drivers都没有找到PCIeSlot对象配置,是不是说明当前社区版本都是默认不支持网卡的热拔插的?
我发现一些网卡的HotPluggable是true,是不是应该都改为false(如果直接使用社区版本的话)?
当前支持热插拔的卡仅有OCP卡,且是在开机时存在卡时,仅支持更换同一型号的卡。您这边的诉求是什么呢?
我们的扩展板不支持热拔插,但是OCP卡因为HotPluggable=true会在web上显示热拔插状态。
社区代码里也没有热拔插必要的对象PCIeSlot,只在网卡里配置HotPluggable=true,这种情况下拿社区版本直接去用就会产生问题:实际没有热拔插功能,但是web上显示热拔插状态。
当前社区代码卡是否支持热插拔是和卡相关的,配置在CSR中,如果需要关联上EXU的属性,可以自行增加适配:
方案1: 在代码中检测,检测EXU的特征,在network_adapter中手动将HotPluggable置位false
方案2: 通过csr配置,更改北向,获取EXU的属性,显示HotPlugSupported时也考虑EXU
当前网页上显示热插拔还是通过HotPluggable判断的,传递给前端的HotPlugSupported为false就不显示热拔出按钮。
1 个赞