Drivers
Mellanox NIC 不支持 XDP 掛鉤中的 DRV_MODE?
我正在嘗試將我的第一個 eBPF 程序載入到 XDP 掛鉤,但不能使用 DRV_MODE。
更具體地說,我正在使用
Ubuntu 20.04 LTS (GNU/Linux 5.4.0-100-generic x86_64)
, 和 NICca: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 。
您的程序可能由於其他原因被拒絕。要麼與驅動程序模式本身無關(例如,被驗證者拒絕),要麼你正在做一些驅動程序不支持的事情。