[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <9365cc1a48c326122898e22067ccd8f9667e5b37.camel@redhat.com>
Date: Thu, 15 Dec 2022 12:15:50 +0100
From: Paolo Abeni <pabeni@...hat.com>
To: Hangbin Liu <liuhangbin@...il.com>, netdev@...r.kernel.org
Cc: "David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Shuah Khan <shuah@...nel.org>,
David Ahern <dsahern@...nel.org>,
Lina Wang <lina.wang@...iatek.com>,
Coleman Dietsch <dietschc@....edu>, bpf@...r.kernel.org,
Maciej enczykowski <maze@...gle.com>
Subject: Re: [PATCH net] selftests/net: mv bpf/nat6to4.c to net folder
Hello,
On Tue, 2022-12-13 at 15:12 +0800, Hangbin Liu wrote:
> There are some issues with the bpf/nat6to4.c building.
>
> 1. It use TEST_CUSTOM_PROGS, which will add the nat6to4.o to
> kselftest-list file and run by common run_tests.
> 2. When building the test via `make -C tools/testing/selftests/
> TARGETS="net"`, the nat6to4.o will be build in selftests/net/bpf/
> folder. But in test udpgro_frglist.sh it refers to ../bpf/nat6to4.o.
> The correct path should be ./bpf/nat6to4.o.
> 3. If building the test via `make -C tools/testing/selftests/ TARGETS="net"
> install`. The nat6to4.o will be installed to kselftest_install/net/
> folder. Then the udpgro_frglist.sh should refer to ./nat6to4.o.
>
> To fix the confusing test path, let's just move the nat6to4.c to net folder
> and build it as TEST_GEN_FILES.
>
> Fixes: edae34a3ed92 ("selftests net: add UDP GRO fraglist + bpf self-tests")
> Signed-off-by: Hangbin Liu <liuhangbin@...il.com>
> ---
> tools/testing/selftests/net/Makefile | 11 +++++++++--
> tools/testing/selftests/net/bpf/Makefile | 14 --------------
> tools/testing/selftests/net/{bpf => }/nat6to4.c | 0
> tools/testing/selftests/net/udpgro_frglist.sh | 6 +++---
> 4 files changed, 12 insertions(+), 19 deletions(-)
> delete mode 100644 tools/testing/selftests/net/bpf/Makefile
> rename tools/testing/selftests/net/{bpf => }/nat6to4.c (100%)
>
> diff --git a/tools/testing/selftests/net/Makefile b/tools/testing/selftests/net/Makefile
> index 69c58362c0ed..d1495107a320 100644
> --- a/tools/testing/selftests/net/Makefile
> +++ b/tools/testing/selftests/net/Makefile
> @@ -71,14 +71,21 @@ TEST_GEN_FILES += bind_bhash
> TEST_GEN_PROGS += sk_bind_sendto_listen
> TEST_GEN_PROGS += sk_connect_zero_addr
> TEST_PROGS += test_ingress_egress_chaining.sh
> +TEST_GEN_FILES += nat6to4.o
>
> TEST_FILES := settings
>
> include ../lib.mk
>
> -include bpf/Makefile
> -
> $(OUTPUT)/reuseport_bpf_numa: LDLIBS += -lnuma
> $(OUTPUT)/tcp_mmap: LDLIBS += -lpthread
> $(OUTPUT)/tcp_inq: LDLIBS += -lpthread
> $(OUTPUT)/bind_bhash: LDLIBS += -lpthread
> +
> +CLANG ?= clang
> +CCINCLUDE += -I../bpf
> +CCINCLUDE += -I../../../lib
> +CCINCLUDE += -I../../../../usr/include/
> +
> +$(OUTPUT)/nat6to4.o: nat6to4.c
> + $(CLANG) -O2 -target bpf -c $< $(CCINCLUDE) -o $@
> diff --git a/tools/testing/selftests/net/bpf/Makefile b/tools/testing/selftests/net/bpf/Makefile
> deleted file mode 100644
> index 8ccaf8732eb2..000000000000
> --- a/tools/testing/selftests/net/bpf/Makefile
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -# SPDX-License-Identifier: GPL-2.0
> -
> -CLANG ?= clang
> -CCINCLUDE += -I../../bpf
> -CCINCLUDE += -I../../../../lib
> -CCINCLUDE += -I../../../../../usr/include/
> -
> -TEST_CUSTOM_PROGS = $(OUTPUT)/bpf/nat6to4.o
> -all: $(TEST_CUSTOM_PROGS)
> -
> -$(OUTPUT)/%.o: %.c
> - $(CLANG) -O2 -target bpf -c $< $(CCINCLUDE) -o $@
> -
> -EXTRA_CLEAN := $(TEST_CUSTOM_PROGS)
With the above, nat6to4.o is going to lose the cross compilation
support introduced with commit 837a3d66d698 ("selftests: net: Add
cross-compilation support for BPF programs"), you need to include such
make builerplate, too.
Side note: it would be nice to factor out the cross-compiler ebpf and
libbpf support into lib.mk or the like.
Thanks!
Paolo
Powered by blists - more mailing lists