mbox series

[v4,0/2] selftests/bpf: convert test_xdp_veth to test_progs framework

Message ID 20240721-convert_test_xdp_veth-v4-0-23bdba21b2f9@bootlin.com (mailing list archive)
Headers show
Series selftests/bpf: convert test_xdp_veth to test_progs framework | expand

Message

Alexis Lothoré (eBPF Foundation) July 21, 2024, 7:33 p.m. UTC
Hello everyone,

this small series is a first step in a larger effort aiming to help improve
eBPF selftests and the testing coverage in CI. It focuses for now on
test_xdp_veth.sh, a small test which is not integrated yet in test_progs.
The series is mostly about a rewrite of test_xdp_veth.sh to make it able to
run under test_progs, relying on libbpf to manipulate bpf programs involved
in the test.

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
---
Changes in v4:
- add missing netns_close in an error path during programs attach
- Link to v3: https://lore.kernel.org/r/20240716-convert_test_xdp_veth-v3-0-7b01389e3cb3@bootlin.com

Changes in v3:
- Fix doc style in the new test
- Collect acked-by tags
- Link to v2: https://lore.kernel.org/r/20240715-convert_test_xdp_veth-v2-0-46290b82f6d2@bootlin.com

Changes in v2:
- fix many formatting issues raised by checkpatch
- use static namespaces instead of random ones
- use SYS_NOFAIL instead of snprintf() + system ()
- squashed the new test addition patch and the old test removal patch
- Link to v1: https://lore.kernel.org/r/20240711-convert_test_xdp_veth-v1-0-868accb0a727@bootlin.com

---
Alexis Lothoré (eBPF Foundation) (2):
      selftests/bpf: update xdp_redirect_map prog sections for libbpf
      selftests/bpf: integrate test_xdp_veth into test_progs

 tools/testing/selftests/bpf/Makefile               |   1 -
 .../selftests/bpf/prog_tests/test_xdp_veth.c       | 213 +++++++++++++++++++++
 .../testing/selftests/bpf/progs/xdp_redirect_map.c |   6 +-
 tools/testing/selftests/bpf/test_xdp_veth.sh       | 121 ------------
 4 files changed, 216 insertions(+), 125 deletions(-)
---
base-commit: 4837cbaa1365cdb213b58577197c5b10f6e2aa81
change-id: 20240710-convert_test_xdp_veth-04cc05f5557d

Best regards,

Comments

bot+bpf-ci@kernel.org July 21, 2024, 7:55 p.m. UTC | #1
Dear patch submitter,

CI has tested the following submission:
Status:     SUCCESS
Name:       [v4,0/2] selftests/bpf: convert test_xdp_veth to test_progs framework
Patchwork:  https://patchwork.kernel.org/project/netdevbpf/list/?series=872778&state=*
Matrix:     https://github.com/kernel-patches/bpf/actions/runs/10030891716

No further action is necessary on your part.


Please note: this email is coming from an unmonitored mailbox. If you have
questions or feedback, please reach out to the Meta Kernel CI team at
kernel-ci@meta.com.
bot+bpf-ci@kernel.org July 23, 2024, 1:13 a.m. UTC | #2
Dear patch submitter,

CI has tested the following submission:
Status:     FAILURE
Name:       [v4,0/2] selftests/bpf: convert test_xdp_veth to test_progs framework
Patchwork:  https://patchwork.kernel.org/project/netdevbpf/list/?series=872778&state=*
Matrix:     https://github.com/kernel-patches/bpf/actions/runs/10050700194

Failed jobs:
test_progs_no_alu32-aarch64-gcc: https://github.com/kernel-patches/bpf/actions/runs/10050700194/job/27779246678
test_progs_no_alu32-s390x-gcc: https://github.com/kernel-patches/bpf/actions/runs/10050700194/job/27779302931
test_progs_no_alu32-x86_64-gcc: https://github.com/kernel-patches/bpf/actions/runs/10050700194/job/27779303865
test_progs_no_alu32-x86_64-llvm-17: https://github.com/kernel-patches/bpf/actions/runs/10050700194/job/27779312541
test_progs_no_alu32-x86_64-llvm-18: https://github.com/kernel-patches/bpf/actions/runs/10050700194/job/27779359687

First test_progs failure (test_progs_no_alu32-aarch64-gcc):
#134 libbpf_get_fd_by_id_opts
libbpf: prog 'check_access': BPF program load failed: Invalid argument
libbpf: prog 'check_access': -- BEGIN PROG LOAD LOG --
0: R1=ctx() R10=fp0
; int BPF_PROG(check_access, struct bpf_map *map, fmode_t fmode) @ test_libbpf_get_fd_by_id_opts.c:27
0: (b7) r0 = 0                        ; R0_w=0
1: (79) r2 = *(u64 *)(r1 +0)
func 'bpf_lsm_bpf_map' arg0 has btf_id 2072 type STRUCT 'bpf_map'
2: R1=ctx() R2_w=trusted_ptr_bpf_map()
; if (map != (struct bpf_map *)&data_input) @ test_libbpf_get_fd_by_id_opts.c:29
2: (18) r3 = 0xffff0000c5c3da00       ; R3_w=map_ptr(map=data_input,ks=4,vs=4)
4: (5d) if r2 != r3 goto pc+4         ; R2_w=trusted_ptr_bpf_map() R3_w=map_ptr(map=data_input,ks=4,vs=4)
; int BPF_PROG(check_access, struct bpf_map *map, fmode_t fmode) @ test_libbpf_get_fd_by_id_opts.c:27
5: (79) r0 = *(u64 *)(r1 +8)          ; R0_w=scalar() R1=ctx()
; if (fmode & FMODE_WRITE) @ test_libbpf_get_fd_by_id_opts.c:32
6: (67) r0 <<= 62                     ; R0_w=scalar(smax=0x4000000000000000,umax=0xc000000000000000,smin32=0,smax32=umax32=0,var_off=(0x0; 0xc000000000000000))
7: (c7) r0 s>>= 63                    ; R0_w=scalar(smin=smin32=-1,smax=smax32=0)
;  @ test_libbpf_get_fd_by_id_opts.c:0
8: (57) r0 &= -13                     ; R0_w=scalar(smax=0x7ffffffffffffff3,umax=0xfffffffffffffff3,smax32=0x7ffffff3,umax32=0xfffffff3,var_off=(0x0; 0xfffffffffffffff3))
; int BPF_PROG(check_access, struct bpf_map *map, fmode_t fmode) @ test_libbpf_get_fd_by_id_opts.c:27
9: (95) exit
At program exit the register R0 has smax=9223372036854775795 should have been in [-4095, 0]
processed 9 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0
-- END PROG LOAD LOG --
libbpf: prog 'check_access': failed to load: -22
libbpf: failed to load object 'test_libbpf_get_fd_by_id_opts'
libbpf: failed to load BPF skeleton 'test_libbpf_get_fd_by_id_opts': -22
test_libbpf_get_fd_by_id_opts:FAIL:test_libbpf_get_fd_by_id_opts__open_and_load unexpected error: -22


Please note: this email is coming from an unmonitored mailbox. If you have
questions or feedback, please reach out to the Meta Kernel CI team at
kernel-ci@meta.com.
bot+bpf-ci@kernel.org July 23, 2024, 2:50 a.m. UTC | #3
Dear patch submitter,

CI has tested the following submission:
Status:     SUCCESS
Name:       [v4,0/2] selftests/bpf: convert test_xdp_veth to test_progs framework
Patchwork:  https://patchwork.kernel.org/project/netdevbpf/list/?series=872778&state=*
Matrix:     https://github.com/kernel-patches/bpf/actions/runs/10051531186

No further action is necessary on your part.


Please note: this email is coming from an unmonitored mailbox. If you have
questions or feedback, please reach out to the Meta Kernel CI team at
kernel-ci@meta.com.
patchwork-bot+netdevbpf@kernel.org July 25, 2024, 12:20 p.m. UTC | #4
Hello:

This series was applied to bpf/bpf-next.git (master)
by Daniel Borkmann <daniel@iogearbox.net>:

On Sun, 21 Jul 2024 21:33:02 +0200 you wrote:
> Hello everyone,
> 
> this small series is a first step in a larger effort aiming to help improve
> eBPF selftests and the testing coverage in CI. It focuses for now on
> test_xdp_veth.sh, a small test which is not integrated yet in test_progs.
> The series is mostly about a rewrite of test_xdp_veth.sh to make it able to
> run under test_progs, relying on libbpf to manipulate bpf programs involved
> in the test.
> 
> [...]

Here is the summary with links:
  - [v4,1/2] selftests/bpf: update xdp_redirect_map prog sections for libbpf
    https://git.kernel.org/bpf/bpf-next/c/e33e15b62d44
  - [v4,2/2] selftests/bpf: integrate test_xdp_veth into test_progs
    https://git.kernel.org/bpf/bpf-next/c/6189fa6faa09

You are awesome, thank you!