Re: xdp_iphash_to_cpu_cmdline: Error loading BTF: Invalid argument(22)

Jesper Dangaard Brouer <[email protected]>
Newsgroups org.kernel.vger.xdp-newbies
Message-ID <20210624221637.4353b844@carbon>
On Thu, 24 Jun 2021 17:04:58 -0300
"Ethy H. Brito" <[email protected]> wrote:

> On Tue, 22 Jun 2021 17:22:16 -0300
> "Ethy"  wrote:
> 
> > Hi
> > 
> > Runing "# ./xdp_iphash_to_cpu --dev eth1 --all-cpus --wan" returns 2 loading errors:
> > 
> > ----------------------8<----------------------------------
> > libbpf: Error loading BTF: Invalid argument(22)
> > libbpf: magic: 0xeb9f
> > version: 1
> > flags: 0x0
> > hdr_len: 24
> > type_off: 0
> > type_len: 492
> > str_off: 492
> > str_len: 1724
> > btf_total_size: 2240
> > [1] PTR (anon) type_id=2
> > [2] STRUCT xdp_md size=20 vlen=5
> > 	data type_id=3 bits_offset=0
> > 	data_end type_id=3 bits_offset=32
> > 	data_meta type_id=3 bits_offset=64
> > 	ingress_ifindex type_id=3 bits_offset=96
> > 	rx_queue_index type_id=3 bits_offset=128
> > [3] TYPEDEF __u32 type_id=4
> > [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none)
> > [5] FUNC_PROTO (anon) return=6 args=(1 ctx)
> > [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED
> > [7] FUNC xdp_program type_id=5 vlen != 0
> > 
> > libbpf: Error loading ELF section .BTF: -22. Ignored and continue.

NOTICE above: "Ignored and continue".

Thus, this is not a real *error*, instead this is just a (very) verbose
*warning* that your system (kernel version? / compile options?) doesn't
support BTF correctly.  The BTF info is not really needed by
xdp-cpuma-tc, so you can safely ignore this "warning".


> > TC workaround for mapname: map_ifindex_type map_fd:5
> > Added CPU:0 queue_size:192
> > Added CPU:1 queue_size:192
> > Added CPU:2 queue_size:192
> > Added CPU:3 queue_size:192
> > Added CPU:4 queue_size:192
> > Added CPU:5 queue_size:192
> > Added CPU:6 queue_size:192
> > Added CPU:7 queue_size:192
> > Added CPU:8 queue_size:192
> > Added CPU:9 queue_size:192
> > Added CPU:10 queue_size:192
> > Added CPU:11 queue_size:192
> > Added CPU:12 queue_size:192
> > Added CPU:13 queue_size:192
> > Added CPU:14 queue_size:192
> > Added CPU:15 queue_size:192
> > Documentation:
> >  XDP: Lookup IPv4 and redirect to CPU hash
> > 
> > This program loads the XDP eBPF program into the kernel.
> > Use the cmdline tool for add/removing dest IPs to the hash
> > 
> >  - Attached to device:eth1 (ifindex:4) prog_id:73
> > ----------------------------------8<-------------------------------
> > 
> > Since the XDP program was correctly listed by "bpftool net", I continued an added just ONE ip
> > 
> > # ./xdp_iphash_to_cpu_cmdline --add --ip 1.2.3.4 --classid 1:1234 --cpu 1
> > key: 0x4030201
> > WARN: Looks like map_txq_config --base-setup is missing
> > WARN: Fixing, doing map_txq_config --base-setup
> > iphash_modify() IP:1.2.3.4 key:0x4030201 TC-handle:0x11234
> > 
> > listed the map
> > 
> > # ./xdp_iphash_to_cpu_cmdline --list
> > {
> > "1.2.3.4" : { "cpu" : 1, "tc_maj" : "1" , "tc_min" : "1234" }}
> > 
> > 
> > And right after I tried to remove the program from XDP:
> > 
> > # ./xdp_iphash_to_cpu --dev eth1 --remove
> > Removing XDP program on ifindex:4 device:eth1
> > ERR: Clear ifindex type failed 
> > INFO: not cleanup pinned map file:/sys/fs/bpf/tc/globals/map_ip_hash (use 'rm')
> > 
> > All seems to be rigth despite the errors.
> > Are all these errors and warnings serious problems? Should I worry? 
> > 
> > Hints??  
> 
> Hi.
> 
> Doesn't anybody know how to answer these?

This is just a warning you can ignore.
It looks like it works...

-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.