Solarflare / Alveo NIC 設定¶
[高速版] 限定
本章僅適用於 [高速版](搭配 Solarflare 或 Alveo NIC)。[通用版] 請略過。
本章涵蓋兩個世代的 NIC。sfboot 章節僅適用於 X2 系列;X3522 (Alveo) 走 xilinx_efct driver 路徑,不吃 sfboot,請直接跳至文末 X3522 (Alveo)。以下指令中的介面名稱(如 ens1f0)請依實際環境替換。
X2522(sfc driver)¶
韌體更新¶
若需針對特定介面:
切換 Firmware Variant¶
TCPDirect 需要將 NIC 切換至 ultra-low-latency variant:
設定寫入 NIC flash,重開機後保留,不需每次重複執行。
Cold Reboot¶
韌體更新與 variant 切換完成後,必須執行 cold power cycle(斷電再上電),而非一般重開機,設定才會完全生效。
驗證¶
重開機後確認韌體版本與 variant 正確:
# 確認 firmware variant
sudo sfboot --adapter=<介面名稱>
# → Firmware variant: Ultra low latency
# 確認 driver 與 firmware 版本
ethtool -i <介面名稱>
# → driver: sfc
或一次執行:
IP 設定¶
sfboot 不處理 IP,IP 須透過 OS 設定。使用 ip addr add 為非持久設定,重開機後消失:
# 持久設定(透過 NetworkManager)
sudo nmcli connection modify <介面名稱> ipv4.addresses <IP>/<prefix> ipv4.method manual
sudo nmcli connection up <介面名稱>
排錯¶
-
sfboot找不到 adapter →lspci | grep -i solarflare確認 NIC 在 PCI bus 上 -
切換 variant 後效能沒改善 → 確認有做 cold power cycle,而非只有重開機
X3522 (Alveo)¶
X3522 是 FPGA-based smart NIC,與 X2522 在 driver 與韌體模型上完全不同:
| 項目 | X2522 | X3522 |
|---|---|---|
| Driver | sfc(內含於 Onload SRPM) |
xilinx_efct(獨立 SRPM,須先建置) |
| 韌體切換 | sfboot --firmware-variant=... |
不適用,出廠即為 x3_llnic (X3 Low-Latency NIC) profile,等同 X2 的 ultra-low-latency |
| 韌體更新工具 | sfupdate |
devlink dev flash(AMD X3 firmware bundle) |
sfboot 是否可用 |
是 | 否,會回 sfc driver is not loaded |
xilinx_efct driver 的建置與安裝流程併入 Onload / TCPDirect 章節(步驟二),因為 Onload 必須在 driver header 就位後才能正確 link X3 支援。
驗證¶
# 確認 driver
ethtool -i <介面名稱>
# → driver: xilinx_efct
# → firmware-version: 1.16.x.x
# 確認 firmware profile(出廠值)
sudo devlink dev info pci/0000:01:00.0
# → running: fw.mgmt <version> (0) x3_llnic
sfboot 對 X3522 沒有作用,請勿在 X3522 部署中執行;如需查 boot ROM / link / firmware 資訊,全部改用 ethtool、devlink。