summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.h
diff options
context:
space:
mode:
authorAndrii Nakryiko <andrii@kernel.org>2023-03-08 10:41:21 -0800
committerAlexei Starovoitov <ast@kernel.org>2023-03-08 16:19:51 -0800
commit7e86a8c4ac8d5dcf7dd58f5a4779d1a6ff0a827d (patch)
tree902425fa97555d12bae99f5d10119e98aa92d393 /tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.h
parentf59b146092653bcf014ccdc9bd8bc94e79065ce3 (diff)
downloadlwn-7e86a8c4ac8d5dcf7dd58f5a4779d1a6ff0a827d.tar.gz
lwn-7e86a8c4ac8d5dcf7dd58f5a4779d1a6ff0a827d.zip
selftests/bpf: implement and test custom testmod_seq iterator
Implement a trivial iterator returning same specified integer value N times as part of bpf_testmod kernel module. Add selftests to validate everything works end to end. We also reuse these tests as "verification-only" tests to validate that kernel prints the state of custom kernel module-defined iterator correctly: fp-16=iter_testmod_seq(ref_id=1,state=drained,depth=0) "testmod_seq" part is an iterator type, and is coming from module's BTF data dynamically at runtime. Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/r/20230308184121.1165081-9-andrii@kernel.org Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.h')
-rw-r--r--tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.h b/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.h
index 0d71e2607832..f32793efe095 100644
--- a/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.h
+++ b/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.h
@@ -22,4 +22,10 @@ struct bpf_testmod_test_writable_ctx {
int val;
};
+/* BPF iter that returns *value* *n* times in a row */
+struct bpf_iter_testmod_seq {
+ s64 value;
+ int cnt;
+};
+
#endif /* _BPF_TESTMOD_H */