Meta Platforms 主機網路介面¶
韌體版本¶
fbnic 在快閃記憶體上儲存了三個元件,這些元件包含在一個 PLDM 映象中
fw - 控制韌體,用於檢視和修改韌體設定、請求韌體操作以及檢索資料路徑之外的韌體計數器。 這是 fbnic_fw.c 與之互動的韌體。
bootloader - 用於驗證韌體安全性並控制基本操作(包括載入和更新韌體)的韌體。 這也稱為 cmrt 韌體。
undi - 這是基於 Linux 驅動程式的 UEFI 驅動程式。
fbnic 在快閃記憶體上儲存這些三個元件的兩個副本。 這樣,如果韌體無法啟動,fbnic 可以自動回退到舊版本的韌體。 兩個版本的版本資訊都以執行和儲存的形式提供。 undi 僅以儲存形式提供,因為它在 Linux 驅動程式接管後不會主動執行。
devlink dev info 提供所有三個元件的版本資訊。 除了版本之外,構建的 hg commit 雜湊值也作為單獨的條目包含在內。
升級韌體¶
fbnic 支援使用帶有 devlink dev flash 的簽名 PLDM 映象更新韌體。 PLDM 映象被寫入快閃記憶體。 刷寫不會中斷裝置的操作。
在主機啟動時,始終使用最新的 UEFI 驅動程式,無需顯式啟用。 韌體啟用是執行新的控制韌體所必需的。 cmrt 韌體只能透過對 NIC 進行電源迴圈來啟用。
統計資訊¶
TX MAC 介面¶
ptp_illegal_req:傳送到 NIC 的資料包,PTP 請求位已設定,但路由到 BMC/FW
ptp_good_ts:成功路由到 MAC 的資料包,PTP 請求位已設定
ptp_bad_ts:目標為 MAC 的資料包,PTP 請求位已設定,但由於某些錯誤(例如,DMA 讀取錯誤)而中止
TX 擴充套件 (TEI) 介面 (TTI)¶
tti_cm_drop:由於信用耗盡,在 TX 擴充套件 (TEI) 介面處丟棄的控制訊息
tti_frame_drop:由於信用耗盡,在 TX 擴充套件 (TEI) 介面處丟棄的資料包
tti_tbi_drop:由於信用耗盡,在 TX BMC 介面 (TBI) 處丟棄的資料包
RXB (RX 緩衝區) 入隊¶
rxb_integrity_err[i]:在 RXB 輸入 i 上排隊且具有完整性錯誤(例如,多位 ECC 錯誤)的幀
rxb_mac_err[i]:在 RXB 輸入 i 上排隊且具有 MAC 幀結束錯誤(例如,錯誤的 FCS)的幀
rxb_parser_err[i]:遇到 RPC 解析器錯誤的幀
rxb_frm_err[i]:遇到信令錯誤(例如,缺少資料包結束/資料包開始)的幀在 RXB 輸入 i 上
rxb_drbo[i]_frames:在 RXB 輸入 i 處接收的幀
rxb_drbo[i]_bytes:在 RXB 輸入 i 處接收的位元組
RXB (RX 緩衝區) FIFO¶
rxb_fifo[i]_drop:轉換為 RXB 池 i 上的丟棄狀態
rxb_fifo[i]_dropped_frames:在 RXB 池 i 上丟棄的幀
rxb_fifo[i]_ecn:轉換為 RXB 池 i 上的 ECN 標記狀態
rxb_fifo[i]_level:RXB 池 i 的當前佔用率
RXB (RX 緩衝區) 出隊¶
rxb_intf[i]_frames:傳送到輸出 i 的幀
rxb_intf[i]_bytes:傳送到輸出 i 的位元組
rxb_pbuf[i]_frames:從內部資料包緩衝區的角度來看,傳送到輸出 i 的幀
rxb_pbuf[i]_bytes:從內部資料包緩衝區的角度來看,傳送到輸出 i 的位元組
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:超大幀
硬體佇列¶
RX DMA 引擎
rde_[i]_pkt_err:具有 MAC EOP、RPC 解析器、RXB 截斷或 RDE 幀截斷錯誤的包。 由於直通支援,這些錯誤在資料包元資料中標記,但實際丟棄發生在到達 PCIE/RDE 後。
rde_[i]_pkt_cq_drop:由於 RCQ 已滿而丟棄的資料包
rde_[i]_pkt_bdq_drop:由於 HPQ 或 PPQ 耗盡主機緩衝區而丟棄的資料包
PCIe¶
fbnic 驅動程式透過 debugfs (pcie_stats) 公開 PCIe 硬體效能統計資訊。 這些統計資訊提供了對 PCIe 事務行為和潛在效能瓶頸的深入瞭解。
PCIe 事務計數器
- 這些計數器跟蹤 PCIe 事務活動
pcie_ob_rd_tlp:出站讀取事務層資料包計數pcie_ob_rd_dword:在出站讀取事務中傳輸的 DWORDpcie_ob_wr_tlp:出站寫入事務層資料包計數pcie_ob_wr_dword:在出站寫入事務中傳輸的 DWORDpcie_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:由於非釋出信用耗盡而丟棄的讀取請求