linux/tools/testing/selftests/bpf/prog_tests
Dmitry Yakunin 21594c4408 bpf: Allow to specify ifindex for skb in bpf_prog_test_run_skb
Now skb->dev is unconditionally set to the loopback device in current net
namespace. But if we want to test bpf program which contains code branch
based on ifindex condition (eg filters out localhost packets) it is useful
to allow specifying of ifindex from userspace. This patch adds such option
through ctx_in (__sk_buff) parameter.

Signed-off-by: Dmitry Yakunin <zeil@yandex-team.ru>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20200803090545.82046-3-zeil@yandex-team.ru
2020-08-03 23:32:23 +02:00
..
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
align.c selftests/bpf: Move test_align under test_progs 2020-05-16 01:18:14 +02:00
attach_probe.c selftests/bpf: Fix test_attach_probe 2019-12-19 16:14:08 +01:00
autoload.c selftests/bpf: Test auto-load disabling logic for BPF programs 2020-06-28 10:06:53 -07:00
bpf_iter.c selftests/bpf: Test bpf_iter buffer access with negative offset 2020-07-31 00:43:49 +02:00
bpf_obj_id.c selftests/bpf: Test bpf_link's get_next_id, get_fd_by_id, and get_obj_info 2020-04-28 17:27:08 -07:00
bpf_tcp_ca.c bpf: Add tests for bpf_sk_storage to bpf_tcp_ca 2020-03-23 20:51:55 +01:00
bpf_verif_scale.c selftests/bpf: Add a test for a large global function 2020-01-10 17:20:07 +01:00
btf_dump.c selftests/bpf: Fix mix of tabs and spaces 2020-03-20 21:46:12 +01:00
btf_map_in_map.c libbpf: Add BTF-defined map-in-map support 2020-04-28 17:35:03 -07:00
cg_storage_multi.c selftests/bpf: Don't destroy failed link 2020-07-31 00:43:49 +02:00
cgroup_attach_autodetach.c selftests/bpf: Declare bpf_log_buf variables as static 2020-03-02 17:00:41 -08:00
cgroup_attach_multi.c bpf: cgroup: Allow multi-attach program to replace itself 2020-06-09 11:21:43 -07:00
cgroup_attach_override.c selftests/bpf: Declare bpf_log_buf variables as static 2020-03-02 17:00:41 -08:00
cgroup_link.c selftests/bpf: Add link detach tests for cgroup, netns, and xdp bpf_links 2020-08-01 20:38:28 -07:00
cgroup_skb_sk_lookup.c bpf: selftests: A few improvements to network_helpers.c 2020-07-02 16:09:01 +02:00
cls_redirect.c selftests/bpf: Add cls_redirect classifier 2020-04-26 10:00:36 -07:00
connect_force_port.c bpf: selftests: A few improvements to network_helpers.c 2020-07-02 16:09:01 +02:00
core_extern.c libbpf: Allow to augment system Kconfig through extra optional config 2019-12-18 17:33:36 -08:00
core_reloc.c selftests/bpf: Fix invalid memory reads in core_relo selftest 2020-04-28 19:48:05 -07:00
core_retro.c selftests/bpf: Fix spurious test failures in core_retro selftest 2020-08-01 23:10:42 -07:00
cpu_mask.c selftests: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08:00
enable_stats.c bpf: Add selftest for BPF_ENABLE_STATS 2020-05-01 10:36:32 -07:00
endian.c selftests/bpf: Add byte swapping selftest 2020-07-01 09:06:12 +02:00
fentry_fexit.c bpf: Add tests for PTR_TO_BTF_ID vs. null comparison 2020-06-30 22:21:29 +02:00
fentry_test.c bpf: Add test ops for BPF_PROG_TYPE_TRACING 2020-03-04 13:41:06 -08:00
fexit_bpf2bpf.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
fexit_stress.c selftests/bpf: Add stress test for maximum number of progs 2019-11-15 23:43:53 +01:00
fexit_test.c bpf: Add test ops for BPF_PROG_TYPE_TRACING 2020-03-04 13:41:06 -08:00
flow_dissector.c selftests: bpf: Pass program to bpf_prog_detach in flow_dissector 2020-06-30 10:46:39 -07:00
flow_dissector_load_bytes.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
flow_dissector_reattach.c selftests: bpf: Pass program and target_fd in flow_dissector_reattach 2020-06-30 10:46:39 -07:00
get_stack_raw_tp.c bpf: Test_progs, add test to catch retval refine error handling 2020-03-30 15:00:30 -07:00
get_stackid_cannot_attach.c selftests/bpf: Add get_stackid_cannot_attach 2020-07-25 20:16:35 -07:00
global_data.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
global_data_init.c selftests: Add test for overriding global data value before load 2020-03-30 01:17:35 +02:00
hashmap.c selftests/bpf: Convert test_hashmap into test_progs test 2020-04-28 19:48:05 -07:00
kfree_skb.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
ksyms.c selftests/bpf: Add __ksym extern selftest 2020-06-22 17:01:48 -07:00
l4lb_all.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
link_pinning.c selftests/bpf: Add link pinning selftests 2020-03-02 22:06:27 -08:00
load_bytes_relative.c bpf: selftests: A few improvements to network_helpers.c 2020-07-02 16:09:01 +02:00
map_lock.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
map_ptr.c selftests/bpf: Test access to bpf map pointer 2020-06-22 22:22:59 +02:00
mmap.c bpf: Prevent mmap()'ing read-only maps as writable 2020-05-20 20:21:53 -07:00
modify_return.c bpf: Add selftests for BPF_MODIFY_RETURN 2020-03-04 13:41:06 -08:00
ns_current_pid_tgid.c selftests/bpf: Fix bpf_link leak in ns_current_pid_tgid selftest 2020-04-28 19:48:05 -07:00
obj_name.c selftests: bpf: break up test_progs - misc 2019-03-02 11:10:40 -08:00
perf_branches.c selftests/bpf: Add bpf_read_branch_records() selftest 2020-02-19 15:01:07 -08:00
perf_buffer.c selftests/bpf: Switch perf_buffer test to tracepoint and skeleton 2020-07-09 00:44:45 +02:00
perf_event_stackmap.c selftests/bpf: Add callchain_stackid 2020-07-25 20:16:35 -07:00
pinning.c selftests/bpf: Add tests for automatic map unpinning on load failure 2019-11-10 19:26:30 -08:00
pkt_access.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
pkt_md_access.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
probe_user.c libbpf: Add generic bpf_program__attach() 2019-12-15 15:58:04 -08:00
prog_run_xattr.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
queue_stack_map.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
raw_tp_writable_reject_nbd_invalid.c selftests: bpf: test writable buffers in raw tps 2019-04-26 19:04:19 -07:00
raw_tp_writable_test_run.c selftests: bpf: test writable buffers in raw tps 2019-04-26 19:04:19 -07:00
rdonly_maps.c libbpf: Expose BPF program's function name 2019-12-15 15:58:05 -08:00
reference_tracking.c libbpf: Make DECLARE_LIBBPF_OPTS macro strictly a variable declaration 2019-10-22 21:35:03 +02:00
resolve_btfids.c bpf: Add BTF_ID_LIST_GLOBAL in btf_ids.h 2020-07-21 13:26:26 -07:00
ringbuf.c selftests/bpf: Fix ringbuf selftest sample counting undeterminism 2020-06-08 16:00:42 +02:00
ringbuf_multi.c selftests/bpf: Add BPF ringbuf selftests 2020-06-01 14:38:22 -07:00
section_names.c libbpf: Add support for BPF XDP link 2020-07-25 20:37:02 -07:00
select_reuseport.c selftests: bpf: Enable UDP sockmap reuseport tests 2020-03-09 22:34:59 +01:00
send_signal.c selftests/bpf: Fix test_progs send_signal flakiness with nmi mode 2020-01-16 13:28:57 -08:00
send_signal_sched_switch.c selftests/bpf: Add send_signal_sched_switch test 2020-03-05 14:02:41 -08:00
signal_pending.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
sk_assign.c selftests/bpf: Use SOCKMAP for server sockets in bpf_sk_assign test 2020-04-29 23:31:00 +02:00
sk_lookup.c selftests/bpf: Add link detach tests for cgroup, netns, and xdp bpf_links 2020-08-01 20:38:28 -07:00
skb_ctx.c bpf: Allow to specify ifindex for skb in bpf_prog_test_run_skb 2020-08-03 23:32:23 +02:00
skb_helpers.c bpf, selftests: Test probe_* helpers from SCHED_CLS 2020-06-01 14:38:21 -07:00
skeleton.c tools/bpftool: Strip away modifiers from global variables 2020-07-13 17:07:43 -07:00
sockmap_basic.c bpf, selftests: Add sk_msg helpers load and attach test 2020-06-01 14:38:20 -07:00
sockmap_ktls.c selftests/bpf: Fix build of sockmap_ktls.c 2020-02-20 01:17:24 +01:00
sockmap_listen.c selftests/bpf: Fix spurious failures in accept due to EAGAIN 2020-03-13 21:37:06 +01:00
sockopt.c selftests/bpf: test_progs: convert test_sockopt 2019-09-06 09:59:05 -07:00
sockopt_inherit.c selftests/bpf: Fix possible hang in sockopt_inherit 2020-07-16 20:57:09 +02:00
sockopt_multi.c selftests/bpf: test_progs: convert test_sockopt_multi 2019-09-06 09:59:05 -07:00
sockopt_sk.c selftests/bpf: Make sure optvals > PAGE_SIZE are bypassed 2020-06-17 10:54:05 -07:00
spinlock.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
stacktrace_build_id.c bpftool, selftests/bpf: Embed object file inside skeleton 2019-12-17 22:16:35 -08:00
stacktrace_build_id_nmi.c selftests/bpf: Skip perf hw events test if the setup disabled it 2020-01-20 23:26:58 +01:00
stacktrace_map.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
stacktrace_map_raw_tp.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
tailcalls.c bpf, testing: Add various tail call test cases 2019-11-24 17:04:12 -08:00
task_fd_query_rawtp.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
task_fd_query_tp.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
tcp_estats.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
tcp_rtt.c bpf: selftests: A few improvements to network_helpers.c 2020-07-02 16:09:01 +02:00
test_global_funcs.c selftests/bpf: Add unit tests for global functions 2020-01-10 17:20:07 +01:00
test_lsm.c bpf, lsm: Fix the file_mprotect LSM test. 2020-04-02 19:42:52 -07:00
test_overhead.c selftest/bpf: Fmod_ret prog and implement test_overhead as part of bench 2020-05-13 12:19:38 -07:00
tp_attach_query.c selftests: bpf: initialize bpf_object pointers where needed 2019-05-09 15:53:56 -07:00
trace_printk.c selftests/bpf: Add selftests verifying bpf_trace_printk() behaviour 2020-07-13 16:55:49 -07:00
trampoline_count.c selftests/bpf: Fix trampoline_count clean up logic 2020-02-20 18:03:10 -08:00
udp_limit.c selftests/bpf: Test BPF_CGROUP_INET_SOCK_RELEASE 2020-07-08 01:07:36 +02:00
varlen.c selftests/bpf: Add variable-length data concat pattern less than test 2020-06-24 00:04:36 +02:00
vmlinux.c selftests/bpf: Fix nanosleep for real this time 2020-03-17 19:29:12 +01:00
xdp.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
xdp_adjust_tail.c selftests/bpf: Xdp_adjust_tail add grow tail tests 2020-05-14 21:21:57 -07:00
xdp_attach.c selftests/bpf: Check for correct program attach/detach in xdp_attach test 2020-04-15 13:26:08 +02:00
xdp_bpf2bpf.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
xdp_cpumap_attach.c selftest: Add tests for XDP programs in CPUMAP entries 2020-07-16 17:00:32 +02:00
xdp_devmap_attach.c bpf: Selftests and tools use struct bpf_devmap_val from uapi 2020-06-09 11:36:19 -07:00
xdp_info.c selftests/bpf: Add test for bpf_get_link_xdp_id 2020-04-08 01:35:24 +02:00
xdp_link.c selftests/bpf: Add link detach tests for cgroup, netns, and xdp bpf_links 2020-08-01 20:38:28 -07:00
xdp_noinline.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
xdp_perf.c selftests: bpf: Add xdp_perf test 2019-12-13 13:09:32 -08:00