[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <hwdaubyz7kjei5pmp72c4opxz3pk3syso22kafm2j7m3t3ffgl@g6ncqcqfe6bi>
Date: Thu, 13 Jun 2024 10:54:07 -0600
From: Daniel Xu <dxu@...uu.xyz>
To: Daniel Borkmann <daniel@...earbox.net>
Cc: Lorenzo Bianconi <lorenzo@...nel.org>, bpf@...r.kernel.org,
pablo@...filter.org, kadlec@...filter.org, davem@...emloft.net, edumazet@...gle.com,
kuba@...nel.org, pabeni@...hat.com, netfilter-devel@...r.kernel.org,
netdev@...r.kernel.org, ast@...nel.org, andrii@...nel.org, martin.lau@...ux.dev,
eddyz87@...il.com, lorenzo.bianconi@...hat.com, toke@...hat.com, fw@...len.de,
hawk@...nel.org, horms@...nel.org, donhunte@...hat.com, memxor@...il.com
Subject: Re: [PATCH v4 bpf-next 3/3] selftests/bpf: Add selftest for
bpf_xdp_flow_lookup kfunc
On Thu, Jun 13, 2024 at 06:06:29PM GMT, Daniel Borkmann wrote:
> On 5/29/24 3:04 PM, Lorenzo Bianconi wrote:
> > Introduce e2e selftest for bpf_xdp_flow_lookup kfunc through
> > xdp_flowtable utility.
> >
> > Signed-off-by: Lorenzo Bianconi <lorenzo@...nel.org>
> [...]
> > +struct flow_offload_tuple_rhash *
> > +bpf_xdp_flow_lookup(struct xdp_md *, struct bpf_fib_lookup *,
> > + struct bpf_flowtable_opts___local *, u32) __ksym;
>
> Btw, this fails CI build :
>
> https://github.com/kernel-patches/bpf/actions/runs/9499749947/job/26190382116
>
> [...]
> progs/xdp_flowtable.c:20:1: error: conflicting types for 'bpf_xdp_flow_lookup'
> 20 | bpf_xdp_flow_lookup(struct xdp_md *, struct bpf_fib_lookup *,
> | ^
> /tmp/work/bpf/bpf/tools/testing/selftests/bpf/tools/include/vmlinux.h:106755:41: note: previous declaration is here
> 106755 | extern struct flow_offload_tuple_rhash *bpf_xdp_flow_lookup(struct xdp_md *ctx, struct bpf_fib_lookup *fib_tuple, struct bpf_flowtable_opts *opts, u32 opts_len) __weak __ksym;
> | ^
> progs/xdp_flowtable.c:134:47: error: incompatible pointer types passing 'struct bpf_flowtable_opts___local *' to parameter of type 'struct bpf_flowtable_opts *' [-Werror,-Wincompatible-pointer-types]
> 134 | tuplehash = bpf_xdp_flow_lookup(ctx, &tuple, &opts, sizeof(opts));
> | ^~~~~
> /tmp/work/bpf/bpf/tools/testing/selftests/bpf/tools/include/vmlinux.h:106755:142: note: passing argument to parameter 'opts' here
> 106755 | extern struct flow_offload_tuple_rhash *bpf_xdp_flow_lookup(struct xdp_md *ctx, struct bpf_fib_lookup *fib_tuple, struct bpf_flowtable_opts *opts, u32 opts_len) __weak __ksym;
> | ^
> 2 errors generated.
> CLNG-BPF [test_maps] kprobe_multi_override.bpf.o
> CLNG-BPF [test_maps] tailcall_bpf2bpf1.bpf.o
> make: *** [Makefile:654: /tmp/work/bpf/bpf/tools/testing/selftests/bpf/xdp_flowtable.bpf.o] Error 1
> make: *** Waiting for unfinished jobs....
> make: Leaving directory '/tmp/work/bpf/bpf/tools/testing/selftests/bpf'
> Error: Process completed with exit code 2.
>
We'll probably want to do the same thing as in f709124dd72f ("bpf:
selftests: nf: Opt out of using generated kfunc prototypes").
Daniel
Powered by blists - more mailing lists