Hide Forgot
Description of problem: I cannot unload an xdp program which attached to a nfp card with native mode by using "xdp-loader unload $nic -a" How reproducible: Always Steps to Reproduce: [root@netqe30 xdp_tools]# xdp-loader load ens3np0 xdp_prog_kern.o [root@netqe30 xdp_tools]# xdp-loader unload ens3np0 -a libbpf: Kernel error message: program loaded with different flags libxdp: Error attaching XDP program to ifindex 10: Device or resource busy Unable to detach XDP program: Device or resource busy [root@netqe30 xdp_tools]# xdp-loader status CURRENT XDP PROGRAM STATUS: Interface Prio Program name Mode ID Tag Chain actions ------------------------------------------------------------------------------------- lo <no XDP program> eno1 <no XDP program> ens1f0 <no XDP program> eno2 <no XDP program> ens1f1 <no XDP program> eno3 <no XDP program> eno4 <no XDP program> ens2f0 <no XDP program> ens2f1 <no XDP program> ens3np0 xdp_dispatcher native 665 d51e469e988d81da => 50 xdp_pass_func 670 3b185187f1855c4c XDP_PASS ens3np1 <no XDP program> [root@netqe30 xdp_tools]# xdp-loader unload ens3np0 -a -vv Setting rlimit to minimum 1048576 libxdp: Verified XDP dispatcher version 1 <= 1 libxdp: DATASEC '.xdp_run_config' not found. libxdp: Acquired lock from /sys/fs/bpf/xdp with fd 6 libxdp: Reading multiprog component programs from pinned directory libxdp: DATASEC '.xdp_run_config' not found. libxdp: Released lock fd 6 libxdp: Found multiprog with id 665 and 1 component progs libxdp: Replacing XDP fd 4 with -1 on ifindex 10 libbpf: Kernel error message: program loaded with different flags libxdp: Error attaching XDP program to ifindex 10: Device or resource busy libxdp: XDP already loaded on device Unable to detach XDP program: Device or resource busy [root@netqe30 xdp_tools]# Actual results: unload failed Expected results: can successfully unload the xdp program
file bug for tracking the unresolved known issue of xdp-tools, details please see: Red Hathttps://bugzilla.redhat.com/show_bug.cgi?id=1820670, comment96, comment97
For this (and the other nfp-related bug), I will likely need access to a machine with an nfp device - Zhiqian, is there a particular qe box I can use for that, and how do I get access to that? :)
I'm also sharing the nfp test bed with others, let me check with him first :~)
Hi Toke, Is there any plan ddl for this bug? I'm also going to set the ITR to 8.4.0 and need info to set the ITM field:~)
(In reply to Zhiqian Guan from comment #5) > Hi Toke, > > Is there any plan ddl for this bug? I'm also going to set the ITR to 8.4.0 > and need info to set the ITM field:~) Hmm, the ITM includes QE verification, right? So I think it's simplest if we do this along with the 5.10 backport, as there are kernel features we'll need in the version of xdp-tools we ship in 8.4, so if we can just do everything at once that would be simpler... So set this to whatever the 5.10 backport ends up as +1 (or 2)? (same for the other xdp-tools issues)
(In reply to Toke Høiland-Jørgensen from comment #6) > (In reply to Zhiqian Guan from comment #5) > > Hi Toke, > > > > Is there any plan ddl for this bug? I'm also going to set the ITR to 8.4.0 > > and need info to set the ITM field:~) > > Hmm, the ITM includes QE verification, right? So I think it's simplest if we > do this along with the 5.10 backport, as there are kernel features we'll > need in the version of xdp-tools we ship in 8.4, so if we can just do > everything at once that would be simpler... > > So set this to whatever the 5.10 backport ends up as +1 (or 2)? > > (same for the other xdp-tools issues) OK, got it:)
Hi Toke, Since the 5.10 backport development for ebpf/xdp will be done by ITM12, so I'll set this bug to ITM 15, sync up with 5.10 backport ITM. Same as other xdp-tools bugs. otherwise, it will pass the Beta. it may need you to fix them at least by ITM 13or14, is that OK for you?
Sure, that should be fine :)
Scratch build what should fix this available here: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=34045153 Will turn it into a proper build as soon as I figure out how to get a new branch created in dist-git...
This issue won't be reproduced in the new version [root@netqe30 ~]# rpm -q xdp-tools xdp-tools-1.1.0-1.el8.x86_64 [root@netqe30 ~]# uname -r 4.18.0-277.el8.x86_64 [root@netqe30 ~]# rpm -q libxdp libxdp-1.1.0-1.el8.x86_64 [root@netqe30 ~]# rpm -q libbpf libbpf-0.0.8-4.el8.x86_64 [root@netqe30 ~]# [root@netqe30 ~]# ethtool -i ens3np0 driver: nfp version: 4.18.0-277.el8.x86_64 firmware-version: 0.0.3.5 0.22 bpf-2.0.6.124 ebpf expansion-rom-version: bus-info: 0000:5e:00.0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: yes supports-priv-flags: no [root@netqe30 ~]# xdp-loader load ens3np0 xdp_prog_kern.o [root@netqe30 ~]# xdp-loader status CURRENT XDP PROGRAM STATUS: Interface Prio Program name Mode ID Tag Chain actions ------------------------------------------------------------------------------------- lo <no XDP program> eno1 <no XDP program> ens1f0 <no XDP program> eno2 <no XDP program> ens1f1 <no XDP program> eno3 <no XDP program> eno4 <no XDP program> ens2f0 <no XDP program> ens2f1 <no XDP program> ens3np0 xdp_dispatcher native 81 d51e469e988d81da => 50 xdp_pass_func 93 3b185187f1855c4c XDP_PASS ens3np1 <no XDP program> [root@netqe30 ~]# xdp-loader unload ens3np0 -a [root@netqe30 ~]# xdp-loader status CURRENT XDP PROGRAM STATUS: Interface Prio Program name Mode ID Tag Chain actions ------------------------------------------------------------------------------------- lo <no XDP program> eno1 <no XDP program> ens1f0 <no XDP program> eno2 <no XDP program> ens1f1 <no XDP program> eno3 <no XDP program> eno4 <no XDP program> ens2f0 <no XDP program> ens2f1 <no XDP program> ens3np0 <no XDP program> ens3np1 <no XDP program>
base on Comment15, set this to VERIFIED
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (xdp-tools bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2021:1925