linux-xiaomi-chiron/tools/testing/selftests/bpf
Andrey Ignatov 1d436885b2 selftests/bpf: Selftest for sys_bind post-hooks.
Add selftest for attach types `BPF_CGROUP_INET4_POST_BIND` and
`BPF_CGROUP_INET6_POST_BIND`.

The main things tested are:
* prog load behaves as expected (valid/invalid accesses in prog);
* prog attach behaves as expected (load- vs attach-time attach types);
* `BPF_CGROUP_INET_SOCK_CREATE` can be attached in a backward compatible
  way;
* post-hooks return expected result and errno.

Example:
  # ./test_sock
  Test case: bind4 load with invalid access: src_ip6 .. [PASS]
  Test case: bind4 load with invalid access: mark .. [PASS]
  Test case: bind6 load with invalid access: src_ip4 .. [PASS]
  Test case: sock_create load with invalid access: src_port .. [PASS]
  Test case: sock_create load w/o expected_attach_type (compat mode) ..
  [PASS]
  Test case: sock_create load w/ expected_attach_type .. [PASS]
  Test case: attach type mismatch bind4 vs bind6 .. [PASS]
  Test case: attach type mismatch bind6 vs bind4 .. [PASS]
  Test case: attach type mismatch default vs bind4 .. [PASS]
  Test case: attach type mismatch bind6 vs sock_create .. [PASS]
  Test case: bind4 reject all .. [PASS]
  Test case: bind6 reject all .. [PASS]
  Test case: bind6 deny specific IP & port .. [PASS]
  Test case: bind4 allow specific IP & port .. [PASS]
  Test case: bind4 allow all .. [PASS]
  Test case: bind6 allow all .. [PASS]
  Summary: 16 PASSED, 0 FAILED

Signed-off-by: Andrey Ignatov <rdna@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2018-03-31 02:16:40 +02:00
..
gnu
include/uapi/linux
.gitignore selftests/bpf: update gitignore with test_libbpf_open 2018-02-22 01:41:18 +01:00
bpf_endian.h
bpf_helpers.h selftests/bpf: Selftest for sys_connect hooks 2018-03-31 02:16:14 +02:00
bpf_rlimit.h bpf: unify rlimit handling in selftests 2018-02-26 20:11:23 -08:00
bpf_util.h
cgroup_helpers.c
cgroup_helpers.h
config
connect4_prog.c selftests/bpf: Selftest for sys_connect hooks 2018-03-31 02:16:14 +02:00
connect6_prog.c selftests/bpf: Selftest for sys_connect hooks 2018-03-31 02:16:14 +02:00
dev_cgroup.c
Makefile selftests/bpf: Selftest for sys_bind post-hooks. 2018-03-31 02:16:40 +02:00
sample_map_ret0.c
sample_ret0.c
sockmap_parse_prog.c bpf: add map tests for BPF_PROG_TYPE_SK_MSG 2018-03-19 21:14:39 +01:00
sockmap_tcp_msg_prog.c bpf: add map tests for BPF_PROG_TYPE_SK_MSG 2018-03-19 21:14:39 +01:00
sockmap_verdict_prog.c bpf: add map tests for BPF_PROG_TYPE_SK_MSG 2018-03-19 21:14:39 +01:00
tcp_client.py bpf: add selftest for tcpbpf 2018-01-25 16:41:15 -08:00
tcp_server.py bpf: add selftest for tcpbpf 2018-01-25 16:41:15 -08:00
test_align.c bpf: unify rlimit handling in selftests 2018-02-26 20:11:23 -08:00
test_dev_cgroup.c bpf: unify rlimit handling in selftests 2018-02-26 20:11:23 -08:00
test_iptunnel_common.h
test_kmod.sh selftests: bpf: test_kmod.sh: check the module path before insmod 2018-02-08 00:24:55 +01:00
test_l4lb.c
test_l4lb_noinline.c
test_libbpf.sh selftests/bpf: add selftest that use test_libbpf_open 2018-02-09 00:25:12 +01:00
test_libbpf_open.c selftests/bpf: add test program for loading BPF ELF files 2018-02-09 00:24:38 +01:00
test_lpm_map.c bpf: unify rlimit handling in selftests 2018-02-26 20:11:23 -08:00
test_lru_map.c bpf: unify rlimit handling in selftests 2018-02-26 20:11:23 -08:00
test_maps.c bpf: add map tests for BPF_PROG_TYPE_SK_MSG 2018-03-19 21:14:39 +01:00
test_obj_id.c
test_offload.py selftests/bpf: check for chain-non-0 extack message 2018-01-25 21:23:09 -05:00
test_pkt_access.c
test_pkt_md_access.c
test_progs.c selftests/bpf: test for bpf_get_stackid() from raw tracepoints 2018-03-28 22:55:19 +02:00
test_sock.c selftests/bpf: Selftest for sys_bind post-hooks. 2018-03-31 02:16:40 +02:00
test_sock_addr.c selftests/bpf: Selftest for sys_connect hooks 2018-03-31 02:16:14 +02:00
test_sock_addr.sh selftests/bpf: Selftest for sys_connect hooks 2018-03-31 02:16:14 +02:00
test_stacktrace_build_id.c bpf: add selftest for stackmap with BPF_F_STACK_BUILD_ID 2018-03-15 01:10:02 +01:00
test_stacktrace_map.c
test_tag.c bpf: unify rlimit handling in selftests 2018-02-26 20:11:23 -08:00
test_tcp_estats.c
test_tcpbpf.h bpf: add selftest for tcpbpf 2018-01-25 16:41:15 -08:00
test_tcpbpf_kern.c selftests/bpf: tcpbpf_kern: use in6_* macros from glibc 2018-02-22 01:19:37 +01:00
test_tcpbpf_user.c bpf: unify rlimit handling in selftests 2018-02-26 20:11:23 -08:00
test_tracepoint.c
test_verifier.c bpf: add verifier tests for BPF_PROG_TYPE_SK_MSG 2018-03-19 21:14:39 +01:00
test_verifier_log.c bpf: unify rlimit handling in selftests 2018-02-26 20:11:23 -08:00
test_xdp.c
test_xdp_meta.c
test_xdp_meta.sh tools/bpf: fix batch-mode test failure of test_xdp_redirect.sh 2018-02-06 11:34:42 +01:00
test_xdp_noinline.c
test_xdp_redirect.c
test_xdp_redirect.sh tools/bpf: fix batch-mode test failure of test_xdp_redirect.sh 2018-02-06 11:34:42 +01:00
urandom_read.c bpf: add selftest for stackmap with BPF_F_STACK_BUILD_ID 2018-03-15 01:10:02 +01:00