첫 번째 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.
귀하의 계획은 다른 이유로 거부될 수 있습니다. 드라이버 모드 자체와 관련이 없는 작업(예: 검증자에 의해 거부됨)이거나 드라이버가 지원하지 않는 작업을 수행하고 있는 것입니다.