Re: [PATCH v2 2/2] selftests/net: fix opening object file failed

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

 



On 11/15/22 2:23 AM, Wang Yufen wrote:
The program file used in the udpgro_frglist testcase is "../bpf/nat6to4.o",
but the actual nat6to4.o file is in "bpf/" not "../bpf".
The following error occurs:
   Error opening object ../bpf/nat6to4.o: No such file or directory
   Cannot initialize ELF context!
   Unable to load program

In addition, all the kernel bpf source files are centred under the
subdir "progs" after commit bd4aed0ee73c ("selftests: bpf: centre
kernel bpf objects under new subdir "progs""). So mv nat6to4.c to
"../bpf/progs" and use "../bpf/nat6to4.bpf.o". And also move the
test program to selftests/bpf.

Fixes: edae34a3ed92 ("selftests net: add UDP GRO fraglist + bpf self-tests")
Signed-off-by: Wang Yufen <wangyufen@xxxxxxxxxx>
---
  tools/testing/selftests/bpf/Makefile               |   7 +-
  tools/testing/selftests/bpf/in_netns.sh            |  23 +
  .../testing/selftests/bpf/progs/nat6to4_egress4.c  | 184 ++++++
  .../testing/selftests/bpf/progs/nat6to4_ingress6.c | 149 +++++
  tools/testing/selftests/bpf/test_udpgro_frglist.sh | 110 ++++

Love to have more tests in the BPF CI which is run continuously: eg: https://github.com/kernel-patches/bpf/actions/runs/3491826279/jobs/5845219757

However, script like this does not get run in CI. test_progs has a more consistent error output and ensures some environment cleanup before running the next test. Please take some effort to adapt this test to the bpf/test_progs.c framework which had already been suggested in the previous revision.

Try to run ./test_progs under the bpf selftests directory. There are existing examples to setup/switch net ns and test_progs has logic in place to ensure the netns is restored before running the next selftest. eg. take a look at bpf/prog_tests/{test_tunnel,tc_redirect}.c.


  tools/testing/selftests/bpf/udpgso_bench_rx.c      | 409 ++++++++++++
  tools/testing/selftests/bpf/udpgso_bench_tx.c      | 712 +++++++++++++++++++++

hmmm, it is a copy? Does it need all the bench marking feature (e.g. all the cmd args)? If not, please simply because I expect the test_udpgro_frglist.sh, udpgso_bench_rx.c, and udpgso_bench_tx.c will become one file 'selftests/bpf/prog_tests/udpgrp_frglish.c' which loads the bpf prog and generates traffic to exercise the bpf prog.

Please tag it with bpf-next in the next spin which Saeed has also mentioned in another thread.

  tools/testing/selftests/net/Makefile               |   2 -
  tools/testing/selftests/net/bpf/Makefile           |  14 -
  tools/testing/selftests/net/bpf/nat6to4.c          | 285 ---------
  tools/testing/selftests/net/udpgro_frglist.sh      | 103 ---
  11 files changed, 1592 insertions(+), 406 deletions(-)
  create mode 100755 tools/testing/selftests/bpf/in_netns.sh
  create mode 100644 tools/testing/selftests/bpf/progs/nat6to4_egress4.c
  create mode 100644 tools/testing/selftests/bpf/progs/nat6to4_ingress6.c
  create mode 100755 tools/testing/selftests/bpf/test_udpgro_frglist.sh
  create mode 100644 tools/testing/selftests/bpf/udpgso_bench_rx.c
  create mode 100644 tools/testing/selftests/bpf/udpgso_bench_tx.c
  delete mode 100644 tools/testing/selftests/net/bpf/Makefile
  delete mode 100644 tools/testing/selftests/net/bpf/nat6to4.c
  delete mode 100755 tools/testing/selftests/net/udpgro_frglist.sh




[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