Mellanox NIC 不支持 XDP 挂钩中的 DRV_MODE?

Mellanox NIC 不支持 XDP 挂钩中的 DRV_MODE?

我正在尝试将我的第一个 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 本机模式的消息(实际上网卡很好我认为它应该支持 XDP 本机模式)。

谁能给我一些指导来帮助我解决问题?

答案1

是的,根据 Linux 4.9,mlx5 驱动程序支持 XDPhttps://docs.cilium.io/en/latest/gettingstarted/kubeproxy-free/#xdp-acceleration

您的计划可能因其他原因被拒绝。要么是与驱动程序模式本身无关的事情(例如,被验证程序拒绝),要么是您正在执行驱动程序不支持的事情。

相关内容