Re: [PATCH net] selftests/net: mv bpf/nat6to4.c to net folder

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
> ---
>  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




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux