From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesper Dangaard Brouer Subject: Re: [PATCH bpf-next] selftests/bpf: enable (uncomment) all tests in test_libbpf.sh Date: Sun, 21 Oct 2018 11:57:29 +0200 Message-ID: <20181021115729.2095d2a0@redhat.com> References: <1540072824-27914-1-git-send-email-quentin.monnet@netronome.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Alexei Starovoitov , Daniel Borkmann , netdev@vger.kernel.org, oss-drivers@netronome.com, brouer@redhat.com To: Quentin Monnet Return-path: Received: from mx1.redhat.com ([209.132.183.28]:55066 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726980AbeJUSLV (ORCPT ); Sun, 21 Oct 2018 14:11:21 -0400 In-Reply-To: <1540072824-27914-1-git-send-email-quentin.monnet@netronome.com> Sender: netdev-owner@vger.kernel.org List-ID: On Sat, 20 Oct 2018 23:00:24 +0100 Quentin Monnet wrote: > libbpf is now able to load successfully test_l4lb_noinline.o and > samples/bpf/tracex3_kern.o, so we can uncomment related tests from > test_libbpf.c and remove the associated "TODO"s. Thanks for working on this, comments below. > It is also trivial to fix test_xdp_noinline.o so that it provides a > version and can be loaded. Fix it and uncomment this test as well. > > For the record, the error message obtainted with tracex3_kern.o was > fixed by commit e3d91b0ca523 ("tools/libbpf: handle issues with bpf ELF > objects containing .eh_frames") > > I have not been abled to reproduce the "libbpf: incorrect bpf_call > opcode" error for test_l4lb_noinline.o, even with the version of libbpf > present at the time when test_libbpf.sh and test_libbpf_open.c were > created. > > Cc: Jesper Dangaard Brouer > Signed-off-by: Quentin Monnet > --- > tools/testing/selftests/bpf/test_libbpf.sh | 12 +++--------- > tools/testing/selftests/bpf/test_xdp_meta.c | 2 ++ > 2 files changed, 5 insertions(+), 9 deletions(-) > > diff --git a/tools/testing/selftests/bpf/test_libbpf.sh b/tools/testing/selftests/bpf/test_libbpf.sh > index 156d89f1edcc..a426f28163a5 100755 > --- a/tools/testing/selftests/bpf/test_libbpf.sh > +++ b/tools/testing/selftests/bpf/test_libbpf.sh > @@ -33,17 +33,11 @@ trap exit_handler 0 2 3 6 9 > > libbpf_open_file test_l4lb.o > > -# TODO: fix libbpf to load noinline functions > -# [warning] libbpf: incorrect bpf_call opcode > -#libbpf_open_file test_l4lb_noinline.o > +libbpf_open_file test_l4lb_noinline.o > > -# TODO: fix test_xdp_meta.c to load with libbpf > -# [warning] libbpf: test_xdp_meta.o doesn't provide kernel version > -#libbpf_open_file test_xdp_meta.o > +libbpf_open_file test_xdp_meta.o > > -# TODO: fix libbpf to handle .eh_frame > -# [warning] libbpf: relocation failed: no section(10) > -#libbpf_open_file ../../../../samples/bpf/tracex3_kern.o > +libbpf_open_file ../../../../samples/bpf/tracex3_kern.o I don't like the ../../../../samples/bpf/ reference (even-through I added this TODO), as the kselftests AFAIK support installing the selftests and then this tests will fail. Maybe we can find another example kern.o file? (which isn't compiled with -target bpf) > # Success > exit 0 > diff --git a/tools/testing/selftests/bpf/test_xdp_meta.c b/tools/testing/selftests/bpf/test_xdp_meta.c > index 8d0182650653..2f42de66e2bb 100644 > --- a/tools/testing/selftests/bpf/test_xdp_meta.c > +++ b/tools/testing/selftests/bpf/test_xdp_meta.c > @@ -8,6 +8,8 @@ > #define round_up(x, y) ((((x) - 1) | __round_mask(x, y)) + 1) > #define ctx_ptr(ctx, mem) (void *)(unsigned long)ctx->mem > > +int _version SEC("version") = 1; > + > SEC("t") > int ing_cls(struct __sk_buff *ctx) > { -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat LinkedIn: http://www.linkedin.com/in/brouer