跳轉到

Solarflare / Alveo NIC 設定

[高速版] 限定

本章僅適用於 [高速版](搭配 Solarflare 或 Alveo NIC)。[通用版] 請略過。

本章涵蓋兩個世代的 NIC。sfboot 章節僅適用於 X2 系列;X3522 (Alveo) 走 xilinx_efct driver 路徑,不吃 sfboot,請直接跳至文末 X3522 (Alveo)。以下指令中的介面名稱(如 ens1f0)請依實際環境替換。

X2522(sfc driver)

韌體更新

sudo sfupdate --write

若需針對特定介面:

sudo sfupdate -i <介面名稱> --write --force --yes

切換 Firmware Variant

TCPDirect 需要將 NIC 切換至 ultra-low-latency variant:

sudo sfboot --adapter=<介面名稱> firmware-variant=ultra-low-latency

設定寫入 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

或一次執行:

tapioctl check tcpdirect

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 找不到 adapterlspci | 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 資訊,全部改用 ethtooldevlink