Drivers

Mellanox NIC 不支持 XDP 掛鉤中的 DRV_MODE?

  • July 16, 2022

我正在嘗試將我的第一個 eBPF 程序載入到 XDP 掛鉤,但不能使用 DRV_MODE。

更具體地說,我正在使用Ubuntu 20.04 LTS (GNU/Linux 5.4.0-100-generic x86_64), 和 NIC ca:00.0 Ethernet controller: Mellanox Technologies MT2892 Family [ConnectX-6 Dx]。我將驅動程序更新到最新版本:

driver: mlx5_core
version: 5.6-2.0.9
firmware-version: 22.32.2004 (DEL0000000027)
expansion-rom-version: 
bus-info: 0000:ca:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: yes

但我仍然無法在驅動程序模式下載入程序。

bpf_set_link_xdp_fd(ifindex, prog_fd, XDP_FLAGS_UPDATE_IF_NOEXIST | XDP_FLAGS_DRV_MODE).

我被困在這裡,找不到有關此 Mellanox 驅動程序是否支持 XDP 原生模式的消息(實際上 NIC 很好,我認為它應該支持 XDP 原生模式)。

任何人都可以給我一些可以解決我的指導嗎?

是的,根據https://docs.cilium.io/en/latest/gettingstarted/kubeproxy-free/#xdp-acceleration ,自 Linux 4.9 以來,mlx5 驅動程序支持 XDP 。

您的程序可能由於其他原因被拒絕。要麼與驅動程序模式本身無關(例如,被驗證者拒絕),要麼你正在做一些驅動程序不支持的事情。

引用自:https://unix.stackexchange.com/questions/710059