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

はい、mlx5ドライバはLinux 4.9以降のXDPをサポートしています。https://docs.cilium.io/en/latest/gettingstarted/kubeproxy-free/#xdp-acceleration

あなたの計画は他の理由で拒否されることがあります。ドライバーモード自体とは無関係な操作 (例えば、検証者によって拒否される) であるか、ドライバーがサポートしていない操作を実行しています。

関連情報