IB卡FunctionClass (10)在redfish接口下没有对应的FunctionType

问题描述

1、网卡卡文件配置中

bmc.dev.PCIeDevice.FunctionClass定义中

“description”: “功能分类(0:未知、1:RAID、2:网卡、3:GPU卡、4:存储卡(SSD卡/M.2卡)、5:SDI卡、6:加速卡、7:扩展卡(PCIe Riser)、8:FPGA卡、9:NPU卡、10:IB卡)”

bmc.kepler.Systems.PCIeDevices.PCIeCard.FunctionClass定义中,并无IB卡定义,是否也可以同步加上 “10:IB”卡

“description”: “功能分类(0:未知、1:RAID、2:网卡、3:GPU卡、4:存储卡(SSD卡/M.2卡)、5:SDI卡、6:加速卡、7:扩展卡(PCIe Riser)、8:FPGA卡、9:NPU卡)”

2、redfish接口/redfish/v1/Chassis/1/PCIeDevices/PCIeCard查询IB卡信息时,查询到PCIeCardType、FunctionType有疑问

代码中通过bmc.kepler.Systems.PCIeDevices.PCIeCard.FunctionClass去对应表里匹配信息,IB卡PCIeCard.FunctionClass在之前帖子中看应配置为2,导致FunctionType字段在type表内匹配显示为Net Card,是否正常

screenshot-20260902-151224

bmc.kepler.Systems.PCIeDevices.PCIeCard.FunctionClass对应表:

obj.FunctionType = type[ProcessingFlow[2].Destination.FunctionClass]

local type = {

\[0\] = nil,

\[1\] = 'RAID Card',

\[2\] = 'Net Card',

\[3\] = 'GPU Card',

\[4\] = 'Storage Card',

\[5\] = 'SDI Card',

\[6\] = 'Accelerate Card',

\[7\] = 'PCIe Riser Card',

\[8\] = 'FPGA Card',

\[9\] = 'NPU Card',

\[11\] = 'DPU Card'

}

obj.PCIeCardType = PCIeType[ProcessingFlow[2].Destination.FunctionClass]

local PCIeType = {

\[0\] = nil,

\[1\] = 'RAID',

\[2\] = 'NIC',

\[3\] = 'GPU',

\[4\] = 'SAS',

\[5\] = 'SDI',

\[6\] = 'Accelerate',

\[7\] = 'Riser',

\[8\] = 'FPGA',

\[9\] = 'NPU',

\[10\] = 'IB',

\[11\] = 'DPU'

}

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

4. 总结与建议

问题 分析结论
bmc.kepler 路径是否应添加“10:IB卡” 建议同步添加,以保持与 bmc.dev 路径及 FunctionClass 完整定义(0~11)一致。
lua 脚本中是否应添加 IB 卡 FunctionType 映射 建议添加,否则 rackmount 无法解析 FunctionClass=10 的 PCIe 卡;对应文本建议为 ‘IB’(参考 bmc.dev 路径中的写法),即 IB(InfiniBand)卡。

简而言之:当前系统确实存在 FunctionClass=10(IB卡)在 bmc.kepler 路径和 rackmount 脚本中映射缺失的问题,为保证功能完整性和定义一致性,建议在 bmc.kepler.Systems.PCIeDevices.PCIeCard.FunctionClass 中补充“10:IB卡”,并在 lua 脚本的 FunctionType 映射表中增加对应条目(如 [10] = 'IB')。

点击此处查看详细分析解答

根据您提供的信息,您提出的问题涉及 FunctionClass 与 FunctionType 在不同接口路径下的定义不一致,尤其是 IB卡(FunctionClass=10) 的映射缺失问题。结合知识图谱与相关文档,现分析如下:


1. 问题现象确认

您指出了两处定义不一致:

接口/路径 FunctionClass 定义 是否包含 IB卡(10)
bmc.dev.PCIeDevice.FunctionClass 功能分类(0:未知、1:RAID、2:网卡、3:GPU卡、4:存储卡、5:SDI卡、6:加速卡、7:扩展卡、8:FPGA卡、9:NPU卡、10:IB卡) :white_check_mark: 包含
bmc.kepler.Systems.PCIeDevices.PCIeCard.FunctionClass 功能分类(0:未知、1:RAID、2:网卡、3:GPU卡、4:存储卡、5:SDI卡、6:加速卡、7:扩展卡、8:FPGA卡、9:NPU卡) :cross_mark: 不包含

文档资料中明确提到:“这里对FunctionClass的定义略微有点不一样;rackmount不会解析FunctionClass为10的pcie卡。” 这与您观察到的现象一致。


2. 关于 bmc.kepler 路径是否应同步添加“10:IB卡”

从知识图谱与文档块来看:

  • FunctionClass 是一个用于对 PCIe 设备/卡进行分类的数值属性,取值范围为 0~11,其中值 10 对应 IB(InfiniBand)卡。
  • FunctionType 是另一个用于描述 PCIe 功能角色的字段,其描述中明确提到支持 “IB” (InfiniBand) 这一功能角色,尤其在多样化设备类型中会出现。
  • 知识图谱中 FunctionClass 与 PCIeCard 的关系说明也指出:“The FunctionClass parameter defines the functional role of a PCIe card… with values from 0 to 11.”

因此,bmc.kepler.Systems.PCIeDevices.PCIeCard.FunctionClass 的定义中缺少“10:IB卡”确实是一个不一致项。按照 FunctionClass 的完整定义(0~11),该路径下的描述应同步补充 “10:IB卡” 以保持一致。


3. 关于 get_oem_pcie_device_info.lua 中是否应添加 IB 卡映射

3.1 现状

在 rackmount/interface_config/redfish/script/Chassis/PCIeDevices/get_oem_pcie_device_info.lua 中:

  • bmc.kepler.Systems.PCIeDevices.PCIeCard.FunctionClass 对应表中,目前没有 [10] = 'IB' 或类似映射。
  • 文档资料明确指出:rackmount 不会解析 FunctionClass 为 10 的 PCIe 卡,这正是当前 lua 脚本中缺少 IB 卡映射的直接原因。

3.2 是否需要添加及对应文本

  • 是否需要添加:如果系统需要支持并正确显示 IB 卡(FunctionClass=10),则应当在该映射表中补充对应的 FunctionType。
  • 对应文本建议:根据知识图谱中 FunctionType 字段的描述,其明确支持 “IB” (InfiniBand) 这一角色值。因此,若需添加映射,IB 卡对应的 FunctionType 文本应体现 IB(InfiniBand) 语义,建议使用 ‘IB’ 或 ‘IB Card’ 类文本,与现有映射风格(如 'RAID Card'、'Net Card'、'GPU Card' 等)保持一致。

参考 bmc.dev.PCIeDevice.FunctionClass 对应表中的写法,值 10 对应的文本为 ‘IB’,可作为映射参考。


4. 总结与建议

问题 分析结论
bmc.kepler 路径是否应添加“10:IB卡” 建议同步添加,以保持与 bmc.dev 路径及 FunctionClass 完整定义(0~11)一致。
lua 脚本中是否应添加 IB 卡 FunctionType 映射 建议添加,否则 rackmount 无法解析 FunctionClass=10 的 PCIe 卡;对应文本建议为 ‘IB’(参考 bmc.dev 路径中的写法),即 IB(InfiniBand)卡。

简而言之:当前系统确实存在 FunctionClass=10(IB卡)在 bmc.kepler 路径和 rackmount 脚本中映射缺失的问题,为保证功能完整性和定义一致性,建议在 bmc.kepler.Systems.PCIeDevices.PCIeCard.FunctionClass 中补充“10:IB卡”,并在 lua 脚本的 FunctionType 映射表中增加对应条目(如 [10] = 'IB')。

KunLun2280V2_701898053_20260729-1950.tar.gz (14.3 MB)

修改方案:
1 rackmount增加type映射规则:10->IB Card
2 CSR修改网卡bmc.dev.PCIeDevice.Oem的FunctionClass为10
3 CSR修改网口bmc.dev.NetworkPort的NetDevFuncType为32

在这两个映射表中,是否需要新加对FC卡的单独显示,目前FC卡归于Net Card、NIC中

这个问题社区已解决,IB卡的FunctionType应显示NetCard,PCIeCardType应显示IB

这两个映射表中,是否需要新加对FC卡的单独类型,目前FC卡归于Net Card、NIC中