linux/tools/testing/selftests/bpf/prog_tests
Daniel Xu c313eae739 bpf: selftests: Add defrag selftests
These selftests tests 2 major scenarios: the BPF based defragmentation
can successfully be done and that packet pointers are invalidated after
calls to the kfunc. The logic is similar for both ipv4 and ipv6.

In the first scenario, we create a UDP client and UDP echo server. The
the server side is fairly straightforward: we attach the prog and simply
echo back the message.

The on the client side, we send fragmented packets to and expect the
reassembled message back from the server.

Signed-off-by: Daniel Xu <dxu@dxuuu.xyz>
Link: https://lore.kernel.org/r/33e40fdfddf43be93f2cb259303f132f46750953.1689970773.git.dxu@dxuuu.xyz
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2023-07-28 16:52:08 -07:00
..
.gitignore
access_variable_array.c
align.c
arg_parsing.c
assign_reuse.c selftests/bpf: Test that SO_REUSEPORT can be used with sk_assign helper 2023-07-25 14:02:47 -07:00
async_stack_depth.c selftests/bpf: Add selftest for check_stack_max_depth bug 2023-07-05 19:14:54 -07:00
atomic_bounds.c
atomics.c
attach_probe.c
autoattach.c
autoload.c
bind_perm.c
bloom_filter_map.c
bpf_cookie.c
bpf_iter.c
bpf_iter_setsockopt.c
bpf_iter_setsockopt_unix.c
bpf_loop.c
bpf_mod_race.c
bpf_nf.c selftests/bpf: Fix bpf_nf failure upon test rerun 2023-06-30 10:35:22 +02:00
bpf_obj_id.c
bpf_obj_pinning.c
bpf_tcp_ca.c
bpf_verif_scale.c
btf.c
btf_dedup_split.c
btf_dump.c
btf_endian.c
btf_map_in_map.c
btf_module.c
btf_skc_cls_ingress.c
btf_split.c
btf_tag.c
btf_write.c
cb_refs.c
cg_storage_multi.c
cgroup_attach_autodetach.c
cgroup_attach_multi.c
cgroup_attach_override.c
cgroup_getset_retval.c
cgroup_hierarchical_stats.c
cgroup_iter.c
cgroup_link.c
cgroup_skb_sk_lookup.c
cgroup_tcp_skb.c selftests/bpf: Verify that the cgroup_skb filters receive expected packets. 2023-06-30 16:09:27 +02:00
cgroup_v1v2.c
cgrp_kfunc.c
cgrp_local_storage.c
check_mtu.c
cls_redirect.c
connect_force_port.c
connect_ping.c
core_autosize.c
core_extern.c
core_kern.c
core_kern_overflow.c
core_read_macros.c
core_reloc.c
core_retro.c
cpu_mask.c
cpumask.c
ctx_rewrite.c
custom_sec_handlers.c
d_path.c
decap_sanity.c
deny_namespace.c
dummy_st_ops.c
dynptr.c
empty_skb.c
enable_stats.c
endian.c
exhandler.c
fentry_fexit.c
fentry_test.c selftests/bpf: add testcase for TRACING with 6+ arguments 2023-07-13 16:04:56 -07:00
fexit_bpf2bpf.c
fexit_sleep.c
fexit_stress.c
fexit_test.c selftests/bpf: add testcase for TRACING with 6+ arguments 2023-07-13 16:04:56 -07:00
fib_lookup.c
find_vma.c
flow_dissector.c
flow_dissector_load_bytes.c
flow_dissector_reattach.c
for_each.c
get_branch_snapshot.c
get_func_args_test.c selftests/bpf: add testcase for TRACING with 6+ arguments 2023-07-13 16:04:56 -07:00
get_func_ip_test.c
get_stack_raw_tp.c
get_stackid_cannot_attach.c
global_data.c
global_data_init.c
global_func_args.c
global_map_resize.c selftests/bpf: extend existing map resize tests for per-cpu use case 2023-07-12 07:57:18 -07:00
hash_large_key.c
hashmap.c
helper_restricted.c
htab_reuse.c
htab_update.c
inner_array_lookup.c
ip_check_defrag.c bpf: selftests: Add defrag selftests 2023-07-28 16:52:08 -07:00
iters.c
jeq_infer_not_null.c
jit_probe_mem.c
kfree_skb.c
kfunc_call.c
kfunc_dynptr_param.c
kprobe_multi_test.c
kprobe_multi_testmod_test.c
ksyms.c
ksyms_btf.c
ksyms_module.c
l4lb_all.c
legacy_printk.c
libbpf_get_fd_by_id_opts.c
libbpf_probes.c
libbpf_str.c
link_pinning.c
linked_funcs.c
linked_list.c bpf: Add 'owner' field to bpf_{list,rb}_node 2023-07-18 17:23:10 -07:00
linked_maps.c
linked_vars.c
load_bytes_relative.c
local_kptr_stash.c
log_buf.c
log_fixup.c
lookup_and_delete.c
lookup_key.c
lru_bug.c
lsm_cgroup.c
map_init.c
map_kptr.c
map_lock.c
map_lookup_percpu_elem.c
map_ops.c
map_ptr.c
metadata.c
migrate_reuseport.c
mmap.c
modify_return.c selftests/bpf: add testcase for TRACING with 6+ arguments 2023-07-13 16:04:56 -07:00
module_attach.c
module_fentry_shadow.c
mptcp.c
nested_trust.c
netcnt.c
netfilter_link_attach.c selftests/bpf: Add bpf_program__attach_netfilter helper test 2023-06-30 12:34:38 -07:00
netns_cookie.c
ns_current_pid_tgid.c
obj_name.c
parse_tcp_hdr_opt.c
pe_preserve_elems.c
perf_branches.c
perf_buffer.c
perf_event_stackmap.c
perf_link.c
pinning.c
pkt_access.c
pkt_md_access.c
probe_read_user_str.c
probe_user.c
prog_array_init.c
prog_run_opts.c
prog_tests_framework.c
ptr_untrusted.c selftests/bpf: Add selftest for PTR_UNTRUSTED 2023-07-13 16:24:29 -07:00
queue_stack_map.c
raw_tp_test_run.c
raw_tp_writable_reject_nbd_invalid.c
raw_tp_writable_test_run.c
rbtree.c
rcu_read_lock.c
rdonly_maps.c
recursion.c
refcounted_kptr.c selftests/bpf: Disable newly-added 'owner' field test until refcount re-enabled 2023-07-18 17:23:10 -07:00
reference_tracking.c
resolve_btfids.c
ringbuf.c
ringbuf_multi.c
section_names.c
select_reuseport.c
send_signal.c
send_signal_sched_switch.c
setget_sockopt.c
signal_pending.c
sk_assign.c
sk_lookup.c
sk_storage_tracing.c
skb_ctx.c
skb_helpers.c
skb_load_bytes.c
skc_to_unix_sock.c
skeleton.c
snprintf.c
snprintf_btf.c
sock_destroy.c
sock_fields.c
socket_cookie.c
sockmap_basic.c
sockmap_helpers.h
sockmap_ktls.c
sockmap_listen.c
sockopt.c
sockopt_inherit.c
sockopt_multi.c
sockopt_qos_to_cc.c
sockopt_sk.c
spin_lock.c
stack_var_off.c
stacktrace_build_id.c
stacktrace_build_id_nmi.c
stacktrace_map.c
stacktrace_map_raw_tp.c
stacktrace_map_skip.c
static_linked.c
subprogs.c
subprogs_extable.c
subskeleton.c
syscall.c
tailcalls.c
task_fd_query_rawtp.c
task_fd_query_tp.c
task_kfunc.c
task_local_storage.c
task_pt_regs.c
task_under_cgroup.c
tc_bpf.c
tc_helpers.h selftests/bpf: Add mprog API tests for BPF tcx opts 2023-07-19 10:07:28 -07:00
tc_links.c selftests/bpf: Add mprog API tests for BPF tcx links 2023-07-19 10:07:28 -07:00
tc_opts.c selftests/bpf: Add mprog API tests for BPF tcx opts 2023-07-19 10:07:28 -07:00
tc_redirect.c
tcp_estats.c
tcp_hdr_options.c selftests/bpf: Correct two typos 2023-07-07 19:36:04 +02:00
tcp_rtt.c
tcpbpf_user.c
test_bpf_syscall_macro.c
test_bpffs.c
test_bprm_opts.c
test_global_funcs.c
test_ima.c
test_ldsx_insn.c selftests/bpf: Test ldsx with more complex cases 2023-07-27 18:54:17 -07:00
test_local_storage.c
test_lsm.c
test_overhead.c
test_profiler.c
test_skb_pkt_end.c
test_strncmp.c
test_tunnel.c
time_tai.c
timer.c
timer_crash.c
timer_mim.c
tp_attach_query.c
trace_ext.c
trace_printk.c
trace_vprintk.c
tracing_struct.c selftests/bpf: add testcase for TRACING with 6+ arguments 2023-07-13 16:04:56 -07:00
trampoline_count.c selftests/bpf: add testcase for TRACING with 6+ arguments 2023-07-13 16:04:56 -07:00
type_cast.c
udp_limit.c
uninit_stack.c
unpriv_bpf_disabled.c
uprobe_autoattach.c
usdt.c
user_ringbuf.c
varlen.c
verif_stats.c
verifier.c selftests/bpf: Add unit tests for new gotol insn 2023-07-27 18:54:17 -07:00
verifier_log.c
verify_pkcs7_sig.c
vmlinux.c
vrf_socket_lookup.c
xdp.c
xdp_adjust_frags.c
xdp_adjust_tail.c
xdp_attach.c
xdp_bonding.c
xdp_bpf2bpf.c
xdp_context_test_run.c
xdp_cpumap_attach.c
xdp_devmap_attach.c
xdp_do_redirect.c
xdp_info.c
xdp_link.c
xdp_metadata.c
xdp_noinline.c
xdp_perf.c
xdp_synproxy.c
xdpwall.c
xfrm_info.c