Meta Platforms 主机网络接口¶
固件版本¶
fbnic 在闪存上存储了三个组件,这些组件在一个 PLDM 映像中提供
fw - 控制固件,用于查看和修改固件设置、请求固件操作以及检索数据路径之外的固件计数器。这是 fbnic_fw.c 与之交互的固件。
bootloader - 固件,用于验证固件安全性并控制基本操作,包括加载和更新固件。这也称为 cmrt 固件。
undi - 这是基于 Linux 驱动程序的 UEFI 驱动程序。
fbnic 在闪存上存储了这三个组件的两个副本。这允许 fbnic 在固件无法启动时自动回退到旧版本的固件。两个版本的版本信息都以运行和存储的形式提供。undi 仅以存储的形式提供,因为它在 Linux 驱动程序接管后不会主动运行。
devlink dev info 提供所有三个组件的版本信息。除了版本之外,构建的 hg commit 哈希值也作为单独的条目包含在内。
统计信息¶
RPC (Rx 解析器)¶
rpc_unkn_etype
:包含未知 EtherType 的帧
rpc_unkn_ext_hdr
:包含未知 IPv6 扩展头的帧
rpc_ipv4_frag
:包含 IPv4 分片的帧
rpc_ipv6_frag
:包含 IPv6 分片的帧
rpc_ipv4_esp
:带有 IPv4 ESP 封装的帧
rpc_ipv6_esp
:带有 IPv6 ESP 封装的帧
rpc_tcp_opt_err
:遇到 TCP 选项解析错误的帧
rpc_out_of_hdr_err
:头部大于可解析区域的帧
ovr_size_err
:超大帧
PCIe¶
fbnic 驱动程序通过 debugfs (pcie_stats
) 公开 PCIe 硬件性能统计信息。这些统计信息提供了对 PCIe 事务行为和潜在性能瓶颈的见解。
PCIe 事务计数器
- 这些计数器跟踪 PCIe 事务活动
pcie_ob_rd_tlp
:出站读取事务层数据包计数pcie_ob_rd_dword
:出站读取事务中传输的 DWORD 数pcie_ob_wr_tlp
:出站写入事务层数据包计数pcie_ob_wr_dword
:出站写入事务中传输的 DWORD 数pcie_ob_cpl_tlp
:出站完成 TLP 计数pcie_ob_cpl_dword
:出站完成 TLP 中传输的 DWORD 数
PCIe 资源监控
- 这些计数器指示 PCIe 资源耗尽事件
pcie_ob_rd_no_tag
:由于标签不可用而丢弃的读取请求pcie_ob_rd_no_cpl_cred
:由于完成信用耗尽而丢弃的读取请求pcie_ob_rd_no_np_cred
:由于非发布信用耗尽而丢弃的读取请求