Skip to content
eBPF Docs
Concepts
Initializing search
GitHub
eBPF Docs
GitHub
Home
Linux Reference
Linux Reference
Concepts
Concepts
Maps
Verifier
Functions
Concurrency
Pinning
Tail calls
Loops
Timers
Resource Limit
AF_XDP
KFuncs
Dynptrs
Token
Trampolines
Program types
Program types
Network program types
Network program types
BPF_PROG_TYPE_SOCKET_FILTER
BPF_PROG_TYPE_SCHED_CLS
BPF_PROG_TYPE_SCHED_ACT
BPF_PROG_TYPE_XDP
BPF_PROG_TYPE_SOCK_OPS
BPF_PROG_TYPE_SK_SKB
BPF_PROG_TYPE_SK_MSG
BPF_PROG_TYPE_SK_LOOKUP
BPF_PROG_TYPE_SK_REUSEPORT
BPF_PROG_TYPE_FLOW_DISSECTOR
BPF_PROG_TYPE_NETFILTER
Light weight tunnel program types
Light weight tunnel program types
BPF_PROG_TYPE_LWT_IN
BPF_PROG_TYPE_LWT_OUT
BPF_PROG_TYPE_LWT_XMIT
BPF_PROG_TYPE_LWT_SEG6LOCAL
cGroup program types
cGroup program types
BPF_PROG_TYPE_CGROUP_SKB
BPF_PROG_TYPE_CGROUP_SOCK
BPF_PROG_TYPE_CGROUP_DEVICE
BPF_PROG_TYPE_CGROUP_SOCK_ADDR
BPF_PROG_TYPE_CGROUP_SOCKOPT
BPF_PROG_TYPE_CGROUP_SYSCTL
Tracing program types
Tracing program types
BPF_PROG_TYPE_KPROBE
BPF_PROG_TYPE_TRACEPOINT
BPF_PROG_TYPE_PERF_EVENT
BPF_PROG_TYPE_RAW_TRACEPOINT
BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE
BPF_PROG_TYPE_TRACING
BPF_PROG_TYPE_LIRC_MODE2
BPF_PROG_TYPE_LSM
BPF_PROG_TYPE_EXT
BPF_PROG_TYPE_STRUCT_OPS
BPF_PROG_TYPE_STRUCT_OPS
Program Type 'BPF_PROG_TYPE_STRUCT_OPS'
struct tcp_congestion_ops
struct hid_bpf_ops
struct sched_ext_ops
BPF_PROG_TYPE_SYSCALL
Map types
Map types
Generic map types
Generic map types
BPF_MAP_TYPE_HASH
BPF_MAP_TYPE_ARRAY
BPF_MAP_TYPE_PERCPU_HASH
BPF_MAP_TYPE_PERCPU_ARRAY
BPF_MAP_TYPE_QUEUE
BPF_MAP_TYPE_STACK
BPF_MAP_TYPE_LRU_HASH
BPF_MAP_TYPE_LRU_PERCPU_HASH
BPF_MAP_TYPE_LPM_TRIE
BPF_MAP_TYPE_BLOOM_FILTER
BPF_MAP_TYPE_ARENA
Map in map
Map in map
BPF_MAP_TYPE_ARRAY_OF_MAPS
BPF_MAP_TYPE_HASH_OF_MAPS
Streaming
Streaming
BPF_MAP_TYPE_PERF_EVENT_ARRAY
BPF_MAP_TYPE_RINGBUF
BPF_MAP_TYPE_USER_RINGBUF
Packet redirection
Packet redirection
BPF_MAP_TYPE_DEVMAP
BPF_MAP_TYPE_SOCKMAP
BPF_MAP_TYPE_CPUMAP
BPF_MAP_TYPE_XSKMAP
BPF_MAP_TYPE_SOCKHASH
BPF_MAP_TYPE_DEVMAP_HASH
BPF_MAP_TYPE_REUSEPORT_SOCKARRAY
Flow redirection
Flow redirection
BPF_MAP_TYPE_PROG_ARRAY
Object attached storage
Object attached storage
BPF_MAP_TYPE_CGROUP_STORAGE
BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE
BPF_MAP_TYPE_SK_STORAGE
BPF_MAP_TYPE_INODE_STORAGE
BPF_MAP_TYPE_TASK_STORAGE
BPF_MAP_TYPE_CGRP_STORAGE
Misc
Misc
BPF_MAP_TYPE_CGROUP_ARRAY
BPF_MAP_TYPE_STACK_TRACE
BPF_MAP_TYPE_STRUCT_OPS
Helper functions
Helper functions
Map helpers
Map helpers
Generic map helpers
Generic map helpers
bpf_map_lookup_elem
bpf_map_update_elem
bpf_map_delete_elem
bpf_for_each_map_elem
bpf_map_lookup_percpu_elem
bpf_spin_lock
bpf_spin_unlock
Perf event array helpers
Perf event array helpers
bpf_perf_event_read
bpf_perf_event_output
bpf_perf_event_read_value
bpf_skb_output
bpf_xdp_output
Tail call helpers
Tail call helpers
bpf_tail_call
Timer helpers
Timer helpers
bpf_timer_init
bpf_timer_set_callback
bpf_timer_start
bpf_timer_cancel
Queue and stack helpers
Queue and stack helpers
bpf_map_push_elem
bpf_map_pop_elem
bpf_map_peek_elem
Ring buffer helper
Ring buffer helper
bpf_ringbuf_output
bpf_ringbuf_reserve
bpf_ringbuf_submit
bpf_ringbuf_discard
bpf_ringbuf_query
bpf_ringbuf_reserve_dynptr
bpf_ringbuf_submit_dynptr
bpf_ringbuf_discard_dynptr
Socket map helpers
Socket map helpers
bpf_sock_map_update
Socket hash helpers
Socket hash helpers
bpf_sock_hash_update
Task storage helpers
Task storage helpers
bpf_task_storage_get
bpf_task_storage_delete
Inode storage helpers
Inode storage helpers
bpf_inode_storage_get
bpf_inode_storage_delete
Socket storage helpers
Socket storage helpers
bpf_sk_storage_get
bpf_sk_storage_delete
Local cGroup storage helpers
Local cGroup storage helpers
bpf_get_local_storage
Global cGroup storage helpers
Global cGroup storage helpers
bpf_cgrp_storage_get
bpf_cgrp_storage_delete
User ring buffer
User ring buffer
bpf_user_ringbuf_drain
Probe and trace helpers
Probe and trace helpers
bpf_get_attach_cookie
Memory helpers
Memory helpers
bpf_probe_read
bpf_probe_write_user
bpf_probe_read_str
bpf_get_stack
bpf_probe_read_user
bpf_probe_read_kernel
bpf_probe_read_user_str
bpf_probe_read_kernel_str
bpf_copy_from_user
bpf_copy_from_user_task
bpf_copy_from_user_task
bpf_find_vma
Process influencing helpers
Process influencing helpers
bpf_override_return
bpf_get_retval
bpf_set_retval
bpf_send_signal
bpf_send_signal_thread
Tracing helpers
Tracing helpers
bpf_get_func_ip
bpf_get_func_arg
bpf_get_func_ret
bpf_get_func_arg_cnt
bpf_sock_from_file
Perf event program helpers
Perf event program helpers
bpf_perf_prog_read_value
Information helpers
Information helpers
Time helpers
Time helpers
bpf_ktime_get_ns
bpf_jiffies64
bpf_ktime_get_boot_ns
bpf_ktime_get_coarse_ns
bpf_ktime_get_tai_ns
Process info helpers
Process info helpers
bpf_get_current_pid_tgid
bpf_get_current_uid_gid
bpf_get_current_comm
bpf_get_cgroup_classid
bpf_get_ns_current_pid_tgid
bpf_get_current_task
bpf_get_stackid
bpf_current_task_under_cgroup
bpf_get_current_cgroup_id
bpf_get_current_ancestor_cgroup_id
bpf_get_task_stack
bpf_get_current_task_btf
bpf_task_pt_regs
CPU info helpers
CPU info helpers
bpf_get_smp_processor_id
bpf_get_numa_node_id
bpf_read_branch_records
bpf_get_branch_snapshot
bpf_per_cpu_ptr
bpf_this_cpu_ptr
Print helpers
Print helpers
bpf_trace_printk
bpf_snprintf
bpf_snprintf_btf
bpf_trace_vprintk
Iterator print helpers
Iterator print helpers
bpf_seq_printf
bpf_seq_write
bpf_seq_printf_btf
Network helpers
Network helpers
bpf_get_netns_cookie
bpf_check_mtu
bpf_get_route_realm
bpf_fib_lookup
Socket buffer helpers
Socket buffer helpers
bpf_skb_store_bytes
bpf_skb_load_bytes
bpf_skb_vlan_push
bpf_skb_vlan_pop
bpf_skb_get_tunnel_key
bpf_skb_set_tunnel_key
bpf_skb_get_tunnel_opt
bpf_skb_set_tunnel_opt
bpf_skb_change_proto
bpf_skb_change_type
bpf_skb_under_cgroup
bpf_skb_change_tail
bpf_skb_pull_data
bpf_skb_adjust_room
bpf_skb_change_head
bpf_skb_get_xfrm_state
bpf_skb_load_bytes_relative
bpf_skb_cgroup_id
bpf_skb_ancestor_cgroup_id
bpf_skb_ecn_set_ce
bpf_skb_cgroup_classid
bpf_skb_set_tstamp
bpf_set_hash
bpf_get_hash_recalc
bpf_set_hash_invalid
Checksum helpers
Checksum helpers
bpf_l3_csum_replace
bpf_l4_csum_replace
bpf_csum_diff
bpf_csum_update
bpf_csum_level
Redirect helpers
Redirect helpers
bpf_clone_redirect
bpf_redirect
bpf_redirect_map
bpf_sk_redirect_map
bpf_msg_redirect_map
bpf_redirect_peer
bpf_sk_redirect_hash
bpf_msg_redirect_hash
bpf_redirect_neigh
bpf_sk_select_reuseport
bpf_sk_assign
XDP helpers
XDP helpers
bpf_xdp_adjust_head
bpf_xdp_adjust_tail
bpf_xdp_adjust_meta
bpf_xdp_get_buff_len
bpf_xdp_load_bytes
bpf_xdp_store_bytes
Socket message helpers
Socket message helpers
bpf_msg_apply_bytes
bpf_msg_cork_bytes
bpf_msg_pull_data
bpf_msg_push_data
bpf_msg_pop_data
LWT helpers
LWT helpers
bpf_lwt_push_encap
bpf_lwt_seg6_store_bytes
bpf_lwt_seg6_adjust_srh
bpf_lwt_seg6_action
SYN Cookie helpers
SYN Cookie helpers
bpf_tcp_check_syncookie
bpf_tcp_gen_syncookie
bpf_tcp_raw_gen_syncookie_ipv4
bpf_tcp_raw_gen_syncookie_ipv6
bpf_tcp_raw_check_syncookie_ipv4
bpf_tcp_raw_check_syncookie_ipv6
Socket helpers
Socket helpers
bpf_sk_lookup_tcp
bpf_sk_lookup_udp
bpf_sk_release
bpf_sk_fullsock
bpf_sk_cgroup_id
bpf_sk_ancestor_cgroup_id
bpf_get_socket_cookie
bpf_get_socket_uid
bpf_setsockopt
bpf_getsockopt
bpf_sock_ops_cb_flags_set
bpf_tcp_sock
bpf_get_listener_sock
bpf_tcp_send_ack
bpf_skc_lookup_tcp
bpf_skc_to_tcp6_sock
bpf_skc_to_tcp_sock
bpf_skc_to_tcp_timewait_sock
bpf_skc_to_tcp_request_sock
bpf_skc_to_udp6_sock
bpf_skc_to_mptcp_sock
bpf_skc_to_unix_sock
bpf_bind
Socket ops helpers
Socket ops helpers
bpf_load_hdr_opt
bpf_store_hdr_opt
bpf_reserve_hdr_opt
Infrared related helpers
Infrared related helpers
bpf_rc_repeat
bpf_rc_keydown
bpf_rc_pointer_rel
Syscall helpers
Syscall helpers
bpf_sys_bpf
bpf_btf_find_by_name_kind
bpf_sys_close
bpf_kallsyms_lookup_name
LSM helpers
LSM helpers
bpf_bprm_opts_set
bpf_ima_inode_hash
bpf_ima_file_hash
Sysctl helpers
Sysctl helpers
bpf_sysctl_get_name
bpf_sysctl_get_current_value
bpf_sysctl_get_new_value
bpf_sysctl_set_new_value
Dynptr
Dynptr
bpf_dynptr_from_mem
bpf_dynptr_read
bpf_dynptr_write
bpf_dynptr_data
Loop helpers
Loop helpers
bpf_loop
Utility helpers
Utility helpers
bpf_get_prandom_u32
bpf_strtol
bpf_strtoul
bpf_strncmp
bpf_d_path
Misc
Misc
bpf_kptr_xchg
Syscall commands
Syscall commands
Object creation commands
Object creation commands
BPF_MAP_CREATE
BPF_PROG_LOAD
BPF_BTF_LOAD
BPF_LINK_CREATE
BPF_ITER_CREATE
BPF_RAW_TRACEPOINT_OPEN
Map commands
Map commands
BPF_MAP_CREATE
BPF_MAP_LOOKUP_ELEM
BPF_MAP_UPDATE_ELEM
BPF_MAP_DELETE_ELEM
BPF_MAP_GET_NEXT_KEY
BPF_MAP_LOOKUP_BATCH
BPF_MAP_LOOKUP_AND_DELETE_BATCH
BPF_MAP_UPDATE_BATCH
BPF_MAP_DELETE_BATCH
BPF_MAP_LOOKUP_AND_DELETE_ELEM
BPF_MAP_FREEZE
Pin commands
Pin commands
BPF_OBJ_PIN
BPF_OBJ_GET
Program commands
Program commands
BPF_PROG_LOAD
BPF_PROG_ATTACH
BPF_PROG_DETACH
BPF_PROG_TEST_RUN
BPF_PROG_TEST_RUN
BPF_PROG_BIND_MAP
Object discovery commands
Object discovery commands
BPF_PROG_GET_NEXT_ID
BPF_MAP_GET_NEXT_ID
BPF_PROG_GET_FD_BY_ID
BPF_MAP_GET_FD_BY_ID
BPF_OBJ_GET_INFO_BY_FD
BPF_PROG_QUERY
BPF_BTF_GET_FD_BY_ID
BPF_TASK_FD_QUERY
BPF_BTF_GET_NEXT_ID
BPF_LINK_GET_FD_BY_ID
BPF_LINK_GET_NEXT_ID
Link commands
Link commands
BPF_LINK_CREATE
BPF_LINK_UPDATE
BPF_LINK_DETACH
Statistics commands
Statistics commands
BPF_ENABLE_STATS
Security commands
Security commands
BPF_TOKEN_CREATE
KFuncs
KFuncs
cGroup resource stats KFuncs
cGroup resource stats KFuncs
cgroup_rstat_updated
cgroup_rstat_flush
Key signature verification KFuncs
Key signature verification KFuncs
bpf_lookup_user_key
bpf_lookup_system_key
bpf_key_put
bpf_verify_pkcs7_signature
File related kfuncs
File related kfuncs
bpf_get_file_xattr
bpf_get_task_exe_file
bpf_put_file
bpf_path_d_path
bpf_get_dentry_xattr
CPU mask KFuncs
CPU mask KFuncs
bpf_cpumask_create
bpf_cpumask_release
bpf_cpumask_acquire
bpf_cpumask_first
bpf_cpumask_first_zero
bpf_cpumask_first_and
bpf_cpumask_set_cpu
bpf_cpumask_clear_cpu
bpf_cpumask_test_cpu
bpf_cpumask_test_and_set_cpu
bpf_cpumask_test_and_clear_cpu
bpf_cpumask_setall
bpf_cpumask_clear
bpf_cpumask_and
bpf_cpumask_or
bpf_cpumask_xor
bpf_cpumask_equal
bpf_cpumask_intersects
bpf_cpumask_subset
bpf_cpumask_empty
bpf_cpumask_full
bpf_cpumask_copy
bpf_cpumask_any_distribute
bpf_cpumask_any_and_distribute
bpf_cpumask_weight
Generic KFuncs
Generic KFuncs
crash_kexec
bpf_throw
Object allocation KFuncs
Object allocation KFuncs
bpf_obj_new_impl
bpf_percpu_obj_new_impl
bpf_obj_drop_impl
bpf_percpu_obj_drop_impl
bpf_refcount_acquire_impl
bpf_list_push_front_impl
bpf_list_push_back_impl
bpf_list_pop_front
bpf_list_pop_back
BPF Arena KFuncs
BPF Arena KFuncs
bpf_arena_alloc_pages
bpf_arena_free_pages
BPF task KFuncs
BPF task KFuncs
bpf_task_acquire
bpf_task_release
bpf_send_signal_task
BPF cGroup KFuncs
BPF cGroup KFuncs
bpf_rbtree_add_impl
bpf_rbtree_first
bpf_rbtree_remove
Kfuncs for acquiring and releasing cGroup references
Kfuncs for acquiring and releasing cGroup references
bpf_cgroup_acquire
bpf_cgroup_release
bpf_cgroup_ancestor
bpf_cgroup_from_id
Kfuncs for querying tasks
Kfuncs for querying tasks
bpf_task_under_cgroup
bpf_task_get_cgroup1
bpf_task_from_pid
bpf_task_from_vpid
KFuncs for memory allocator inspection
KFuncs for memory allocator inspection
bpf_get_kmem_cache
Kfuncs for casting pointers
Kfuncs for casting pointers
bpf_cast_to_kern_ctx
bpf_rdonly_cast
Kfuncs for taking and releasing RCU read locks
Kfuncs for taking and releasing RCU read locks
bpf_rcu_read_lock
bpf_rcu_read_unlock
Kfuncs for dynamic pointer slices
Kfuncs for dynamic pointer slices
bpf_dynptr_slice
bpf_dynptr_slice_rdwr
Kfuncs for open coded numeric iterators
Kfuncs for open coded numeric iterators
bpf_iter_num_new
bpf_iter_num_next
bpf_iter_num_destroy
Kfuncs for open coded virtual memory area iterators
Kfuncs for open coded virtual memory area iterators
bpf_iter_task_vma_new
bpf_iter_task_vma_next
bpf_iter_task_vma_destroy
Kfuncs for bits
Kfuncs for bits
bpf_iter_bits_new
bpf_iter_bits_next
bpf_iter_bits_destroy
Kfuncs for open coded task cGroup iterators
Kfuncs for open coded task cGroup iterators
bpf_iter_css_task_new
bpf_iter_css_task_next
bpf_iter_css_task_destroy
Kfuncs for open coded cGroup iterators
Kfuncs for open coded cGroup iterators
bpf_iter_css_new
bpf_iter_css_next
bpf_iter_css_destroy
Kfuncs for open coded task iterators
Kfuncs for open coded task iterators
bpf_iter_task_new
bpf_iter_task_next
bpf_iter_task_destroy
Kfuncs for slab memory allocation iterators
Kfuncs for slab memory allocation iterators
bpf_iter_kmem_cache_new
bpf_iter_kmem_cache_next
bpf_iter_kmem_cache_destroy
Kfuncs for sched_ext dispatch queue iterators
Kfuncs for sched_ext dispatch queue iterators
bpf_iter_scx_dsq_new
bpf_iter_scx_dsq_next
bpf_iter_scx_dsq_destroy
Kfuncs for dynamic pointers
Kfuncs for dynamic pointers
bpf_dynptr_adjust
bpf_dynptr_is_null
bpf_dynptr_is_rdonly
bpf_dynptr_size
bpf_dynptr_clone
Misc KFuncs
Misc KFuncs
bpf_map_sum_elem_count
bpf_get_fsverity_digest
Preemption kfuncs
Preemption kfuncs
bpf_preempt_disable
bpf_preempt_enable
Work-queue KFuncs
Work-queue KFuncs
bpf_wq_init
bpf_wq_set_callback_impl
bpf_wq_start
XDP metadata kfuncs
XDP metadata kfuncs
bpf_xdp_metadata_rx_timestamp
bpf_xdp_metadata_rx_hash
bpf_xdp_metadata_rx_vlan_tag
XDP/SKB dynamic pointer kfuncs
XDP/SKB dynamic pointer kfuncs
bpf_dynptr_from_skb
bpf_dynptr_from_xdp
Socket related kfuncs
Socket related kfuncs
bpf_sock_addr_set_sun_path
bpf_sock_destroy
Network crypto kfuncs
Network crypto kfuncs
bpf_crypto_ctx_create
bpf_crypto_ctx_acquire
bpf_crypto_ctx_release
bpf_crypto_decrypt
bpf_crypto_encrypt
BBR congestion control kfuncs
BBR congestion control kfuncs
bbr_init
bbr_main
bbr_sndbuf_expand
bbr_undo_cwnd
bbr_cwnd_event
bbr_ssthresh
bbr_min_tso_segs
bbr_set_state
Cubic TCP congestion control kfuncs
Cubic TCP congestion control kfuncs
cubictcp_init
cubictcp_recalc_ssthresh
cubictcp_cong_avoid
cubictcp_state
cubictcp_cwnd_event
cubictcp_acked
DC TCP congestion control kfuncs
DC TCP congestion control kfuncs
dctcp_init
dctcp_update_alpha
dctcp_cwnd_event
dctcp_ssthresh
dctcp_cwnd_undo
dctcp_state
TCP Reno congestion control kfuncs
TCP Reno congestion control kfuncs
tcp_reno_ssthresh
tcp_reno_cong_avoid
tcp_reno_undo_cwnd
tcp_slow_start
tcp_cong_avoid_ai
Foo over UDP KFuncs
Foo over UDP KFuncs
bpf_skb_set_fou_encap
bpf_skb_get_fou_encap
SYN Cookie KFuncs
SYN Cookie KFuncs
bpf_sk_assign_tcp_reqsk
Connection tracking KFuncs
Connection tracking KFuncs
bpf_ct_set_nat_info
bpf_xdp_ct_alloc
bpf_xdp_ct_lookup
bpf_skb_ct_alloc
bpf_skb_ct_lookup
bpf_ct_insert_entry
bpf_ct_release
bpf_ct_set_timeout
bpf_ct_change_timeout
bpf_ct_set_status
bpf_ct_change_status
XDP KFuncs
XDP KFuncs
bpf_xdp_flow_lookup
XFRM KFuncs
XFRM KFuncs
bpf_skb_get_xfrm_info
bpf_skb_set_xfrm_info
bpf_xdp_get_xfrm_state
bpf_xdp_xfrm_state_release
HID Kfuncs
HID Kfuncs
hid_bpf_get_data
hid_bpf_attach_prog
hid_bpf_allocate_context
hid_bpf_release_context
hid_bpf_hw_request
hid_bpf_hw_output_report
hid_bpf_input_report
hid_bpf_try_input_report
KProbe session Kfuncs
KProbe session Kfuncs
bpf_session_cookie
bpf_session_is_return
Memory probe Kfuncs
Memory probe Kfuncs
bpf_copy_from_user_str
IRQ Kfuncs
IRQ Kfuncs
bpf_local_irq_save
bpf_local_irq_restore
sched_ext Kfuncs
sched_ext Kfuncs
scx_bpf_kick_cpu
scx_bpf_select_cpu_dfl
scx_bpf_cpu_rq
scx_bpf_now
Dispatch Queue Kfuncs
Dispatch Queue Kfuncs
scx_bpf_create_dsq
scx_bpf_destroy_dsq
scx_bpf_dsq_nr_queued
scx_bpf_dsq_insert
scx_bpf_dispatch
scx_bpf_dsq_insert_vtime
scx_bpf_dispatch_vtime
scx_bpf_dsq_move_to_local
scx_bpf_consume
scx_bpf_dsq_move_set_slice
scx_bpf_dispatch_from_dsq_set_slice
scx_bpf_dsq_move_set_vtime
scx_bpf_dispatch_from_dsq_set_vtime
scx_bpf_dsq_move
scx_bpf_dispatch_from_dsq
scx_bpf_dsq_move_vtime
scx_bpf_dispatch_vtime_from_dsq
scx_bpf_reenqueue_local
Dispatch Kfuncs
Dispatch Kfuncs
scx_bpf_dispatch_nr_slots
scx_bpf_dispatch_cancel
Error and debug Kfuncs
Error and debug Kfuncs
scx_bpf_exit_bstr
scx_bpf_error_bstr
scx_bpf_dump_bstr
CPU performance Kfuncs
CPU performance Kfuncs
scx_bpf_cpuperf_cap
scx_bpf_cpuperf_cur
scx_bpf_cpuperf_set
scx_bpf_nr_cpu_ids
CPU mask Kfuncs
CPU mask Kfuncs
scx_bpf_get_possible_cpumask
scx_bpf_get_online_cpumask
scx_bpf_put_cpumask
Idle CPU mask Kfuncs
Idle CPU mask Kfuncs
scx_bpf_get_idle_cpumask
scx_bpf_get_idle_smtmask
scx_bpf_put_idle_cpumask
scx_bpf_test_and_clear_cpu_idle
scx_bpf_pick_idle_cpu
scx_bpf_pick_any_cpu
Task Kfuncs
Task Kfuncs
scx_bpf_task_running
scx_bpf_task_cpu
scx_bpf_task_cgroup
eBPF Timeline
eBPF Timeline
eBPF libraries
eBPF libraries
Libbpf
Libbpf
Userspace
Userspace
BPF Object functions
BPF Object functions
bpf_object__open
bpf_object__open_file
bpf_object__open_mem
bpf_object__load
bpf_object__close
bpf_object__pin_maps
bpf_object__unpin_maps
bpf_object__pin_programs
bpf_object__unpin_programs
bpf_object__pin
bpf_object__unpin
bpf_object__name
bpf_object__kversion
bpf_object__set_kversion
bpf_object__token_fd
bpf_object__btf
bpf_object__btf_fd
bpf_object__find_program_by_name
BPF Skeleton functions
BPF Skeleton functions
bpf_object__open_skeleton
bpf_object__load_skeleton
bpf_object__attach_skeleton
bpf_object__detach_skeleton
bpf_object__destroy_skeleton
bpf_object__open_subskeleton
bpf_object__destroy_subskeleton
bpf_object__gen_loader
bpf_object__next_program
bpf_object__prev_program
bpf_object__find_map_by_name
bpf_object__find_map_fd_by_name
bpf_object__next_map
bpf_object__prev_map
BPF Program functions
BPF Program functions
bpf_program__set_ifindex
bpf_program__name
bpf_program__section_name
bpf_program__autoload
bpf_program__set_autoload
bpf_program__autoattach
bpf_program__set_autoattach
bpf_program__insns
bpf_program__set_insns
bpf_program__insn_cnt
bpf_program__fd
bpf_program__pin
bpf_program__unpin
bpf_program__unload
Program attach functions
Program attach functions
bpf_program__attach
bpf_program__attach_perf_event
bpf_program__attach_perf_event_opts
bpf_program__attach_kprobe
bpf_program__attach_kprobe_opts
bpf_program__attach_kprobe_multi_opts
bpf_program__attach_uprobe_multi
bpf_program__attach_ksyscall
bpf_program__attach_uprobe
bpf_program__attach_uprobe_opts
bpf_program__attach_usdt
bpf_program__attach_tracepoint
bpf_program__attach_tracepoint_opts
bpf_program__attach_raw_tracepoint
bpf_program__attach_raw_tracepoint_opts
bpf_program__attach_trace
bpf_program__attach_trace_opts
bpf_program__attach_lsm
bpf_program__attach_cgroup
bpf_program__attach_netns
bpf_program__attach_sockmap
bpf_program__attach_xdp
bpf_program__attach_freplace
bpf_program__attach_netfilter
bpf_program__attach_tcx
bpf_program__attach_netkit
bpf_program__attach_iter
bpf_program__type
bpf_program__set_type
bpf_program__set_expected_attach_type
bpf_program__flags
bpf_program__set_flags
bpf_program__log_level
bpf_program__set_log_level
bpf_program__log_buf
bpf_program__set_log_buf
bpf_program__set_attach_target
bpf_program__expected_attach_type
Link functions
Link functions
bpf_link__open
bpf_link__fd
bpf_link__pin_path
bpf_link__pin
bpf_link__unpin
bpf_link__update_program
bpf_link__disconnect
bpf_link__detach
bpf_link__destroy
bpf_link__update_map
Map functions
Map functions
bpf_map__attach_struct_ops
bpf_map__set_autocreate
bpf_map__autocreate
bpf_map__set_autoattach
bpf_map__autoattach
bpf_map__fd
bpf_map__reuse_fd
bpf_map__name
bpf_map__type
bpf_map__set_type
bpf_map__max_entries
bpf_map__set_max_entries
bpf_map__map_flags
bpf_map__set_map_flags
bpf_map__numa_node
bpf_map__set_numa_node
bpf_map__key_size
bpf_map__set_key_size
bpf_map__value_size
bpf_map__set_value_size
bpf_map__btf_key_type_id
bpf_map__btf_value_type_id
bpf_map__ifindex
bpf_map__set_ifindex
bpf_map__map_extra
bpf_map__set_map_extra
bpf_map__set_initial_value
bpf_map__initial_value
bpf_map__is_internal
bpf_map__set_pin_path
bpf_map__pin_path
bpf_map__is_pinned
bpf_map__pin
bpf_map__unpin
bpf_map__set_inner_map_fd
bpf_map__inner_map
bpf_map__lookup_elem
bpf_map__update_elem
bpf_map__delete_elem
bpf_map__lookup_and_delete_elem
bpf_map__get_next_key
XDP functions
XDP functions
bpf_xdp_attach
bpf_xdp_detach
bpf_xdp_query
bpf_xdp_query_id
TC functions
TC functions
bpf_tc_hook_create
bpf_tc_hook_destroy
bpf_tc_attach
bpf_tc_detach
bpf_tc_query
Ring buffer manager functions
Ring buffer manager functions
ring_buffer__new
ring_buffer__free
ring_buffer__add
ring_buffer__poll
ring_buffer__consume
ring_buffer__consume_n
ring_buffer__epoll_fd
ring_buffer__ring
Ring buffer functions
Ring buffer functions
ring__consumer_pos
ring__producer_pos
ring__avail_data_size
ring__size
ring__map_fd
ring__consume
ring__consume_n
User ring buffer
User ring buffer
user_ring_buffer__new
user_ring_buffer__reserve
user_ring_buffer__reserve_blocking
user_ring_buffer__submit
user_ring_buffer__discard
user_ring_buffer__free
Perf buffer functions
Perf buffer functions
perf_buffer__new
perf_buffer__new_raw
perf_buffer__free
perf_buffer__epoll_fd
perf_buffer__poll
perf_buffer__consume
perf_buffer__consume_buffer
perf_buffer__buffer_cnt
perf_buffer__buffer_fd
perf_buffer__buffer
Program line info functions
Program line info functions
bpf_prog_linfo__free
bpf_prog_linfo__new
bpf_prog_linfo__lfind_addr_func
bpf_prog_linfo__lfind
Linker functions
Linker functions
bpf_linker__new
bpf_linker__new_fd
bpf_linker__add_file
bpf_linker__add_fd
bpf_linker__add_buf
bpf_linker__finalize
bpf_linker__free
Misc libbpf functions
Misc libbpf functions
libbpf_major_version
libbpf_minor_version
libbpf_version_string
libbpf_strerror
libbpf_bpf_attach_type_str
libbpf_bpf_link_type_str
libbpf_bpf_map_type_str
libbpf_bpf_prog_type_str
libbpf_set_print
libbpf_prog_type_by_name
libbpf_attach_type_by_name
libbpf_find_vmlinux_btf_id
libbpf_probe_bpf_prog_type
libbpf_probe_bpf_map_type
libbpf_probe_bpf_helper
libbpf_num_possible_cpus
libbpf_register_prog_handler
libbpf_unregister_prog_handler
Legacy APIs
Legacy APIs
libbpf_set_strict_mode
libbpf_get_error
libbpf_find_kernel_btf
bpf_program__get_type
bpf_program__get_expected_attach_type
bpf_map__get_pin_path
btf__get_raw_data
btf_ext__get_raw_data
Types
Types
struct libbpf_prog_handler_opts
BTF
BTF
btf__free
btf__new
btf__new_split
btf__new_empty
btf__new_empty_split
btf__distill_base
btf__parse
btf__parse_split
btf__parse_elf
btf__parse_elf_split
btf__parse_raw
btf__parse_raw_split
btf__load_vmlinux_btf
btf__load_module_btf
btf__load_from_kernel_by_id
btf__load_from_kernel_by_id_split
btf__load_into_kernel
btf__find_by_name
btf__find_by_name_kind
btf__type_cnt
btf__base_btf
btf__type_by_id
btf__pointer_size
btf__set_pointer_size
btf__endianness
btf__set_endianness
btf__resolve_size
btf__resolve_type
btf__align_of
btf__fd
btf__set_fd
btf__raw_data
btf__name_by_offset
btf__str_by_offset
btf_ext__new
btf_ext__free
btf_ext__raw_data
btf_ext__endianness
btf_ext__set_endianness
btf__find_str
btf__add_str
btf__add_type
btf__add_btf
btf__add_int
btf__add_float
btf__add_ptr
btf__add_array
btf__add_struct
btf__add_union
btf__add_field
btf__add_enum
btf__add_enum_value
btf__add_enum64
btf__add_enum64_value
btf__add_fwd
btf__add_typedef
btf__add_volatile
btf__add_const
btf__add_restrict
btf__add_type_tag
btf__add_type_attr
btf__add_func
btf__add_func_proto
btf__add_func_param
btf__add_var
btf__add_datasec
btf__add_datasec_var_info
btf__add_decl_tag
btf__add_decl_attr
btf__dedup
btf__relocate
btf_dump__new
btf_dump__free
btf_dump__dump_type
btf_dump__emit_type_decl
btf_dump__dump_type_data
Low level APIs
Low level APIs
libbpf_set_memlock_rlim
bpf_map_create
bpf_prog_load
bpf_btf_load
bpf_map_update_elem
bpf_map_lookup_elem
bpf_map_lookup_elem_flags
bpf_map_lookup_and_delete_elem
bpf_map_lookup_and_delete_elem_flags
bpf_map_delete_elem
bpf_map_delete_elem_flags
bpf_map_get_next_key
bpf_map_freeze
bpf_map_delete_batch
bpf_map_lookup_batch
bpf_map_lookup_and_delete_batch
bpf_map_update_batch
bpf_obj_pin
bpf_obj_pin_opts
bpf_obj_get
bpf_obj_get_opts
bpf_prog_attach
bpf_prog_detach
bpf_prog_detach2
bpf_prog_attach_opts
bpf_prog_detach_opts
bpf_link_create
bpf_link_detach
bpf_link_update
bpf_iter_create
bpf_prog_get_next_id
bpf_map_get_next_id
bpf_btf_get_next_id
bpf_link_get_next_id
bpf_prog_get_fd_by_id
bpf_prog_get_fd_by_id_opts
bpf_map_get_fd_by_id
bpf_map_get_fd_by_id_opts
bpf_btf_get_fd_by_id
bpf_btf_get_fd_by_id_opts
bpf_link_get_fd_by_id
bpf_link_get_fd_by_id_opts
bpf_obj_get_info_by_fd
bpf_prog_get_info_by_fd
bpf_map_get_info_by_fd
bpf_btf_get_info_by_fd
bpf_link_get_info_by_fd
bpf_prog_query_opts
bpf_prog_query
bpf_raw_tracepoint_open_opts
bpf_raw_tracepoint_open
bpf_task_fd_query
bpf_enable_stats
bpf_prog_bind_map
bpf_prog_test_run_opts
bpf_token_create
eBPF side
eBPF side
BTF map macros / types
BTF map macros / types
__uint
__type
__array
__ulong
enum libbpf_pin_type
Attributes
Attributes
__always_inline
__noinline
__weak
__hidden
__kconfig
__ksym
__kptr_untrusted
__kptr
__percpu_kptr
Global function attributes
Global function attributes
__arg_ctx
__arg_nonnull
__arg_nullable
__arg_trusted
__arg_arena
SEC
KERNEL_VERSION
offsetof
container_of
barrier
barrier_var
__bpf_unreachable
bpf_tail_call_static
bpf_ksym_exists
Printf macros
Printf macros
BPF_SEQ_PRINTF
BPF_SNPRINTF
bpf_printk
Open coded iterator loop macros
Open coded iterator loop macros
bpf_for_each
bpf_for
bpf_repeat
bpf_htons
bpf_ntohs
bpf_htonl
bpf_ntohl
bpf_cpu_to_be64
bpf_be64_to_cpu
PT_REGS_PARM
PT_REGS_RET
PT_REGS_FP
PT_REGS_RC
PT_REGS_SP
PT_REGS_IP
PT_REGS_SYSCALL_REGS
BPF_PROG
BPF_PROG2
BPF_KPROBE
BPF_UPROBE
BPF_KRETPROBE
BPF_URETPROBE
BPF_KSYSCALL
BPF_KPROBE_SYSCALL
CO-RE memory access
CO-RE memory access
BPF_CORE_READ
BPF_CORE_READ_INTO
bpf_core_read
BPF_CORE_READ_STR_INTO
bpf_core_read_str
BPF_CORE_READ_USER
BPF_CORE_READ_USER_INTO
bpf_core_read_user
BPF_CORE_READ_USER_STR_INTO
bpf_core_read_user_str
BPF_CORE_READ_BITFIELD
BPF_CORE_READ_BITFIELD_PROBED
BPF_CORE_WRITE_BITFIELD
CO-RE queries
CO-RE queries
bpf_core_field_exists
bpf_core_field_size
bpf_core_field_offset
bpf_core_type_id_local
bpf_core_type_id_kernel
bpf_core_type_exists
bpf_core_type_matches
bpf_core_type_size
bpf_core_enum_value_exists
bpf_core_enum_value
bpf_core_cast
Non CO-RE macros
Non CO-RE macros
BPF_PROBE_READ
BPF_PROBE_READ_INTO
BPF_PROBE_READ_USER_INTO
BPF_PROBE_READ_STR_INTO
BPF_PROBE_READ_USER_STR_INTO
BPF_PROBE_READ_USER
Utility macros
Utility macros
___bpf_fill
Concepts
Libxdp
Libxdp
Concept
Manage programs
Manage programs
Load
Load
xdp_program__from_bpf_obj
xdp_program__find_file
xdp_program__open_file
xdp_program__from_fd
xdp_program__from_id
xdp_program__from_pin
Metadata
Metadata
xdp_program__run_prio
xdp_program__set_run_prio
xdp_program__chain_call_enabled
xdp_program__set_chain_call_enabled
xdp_program__print_chain_call_actions
Dispatcher
Dispatcher
xdp_multiprog__get_from_ifindex
xdp_multiprog__next_prog
xdp_multiprog__close
xdp_multiprog__detach
xdp_multiprog__attach_mode
xdp_multiprog__main_prog
xdp_multiprog__hw_prog
xdp_multiprog__is_legacy
AF_XDP sockets
AF_XDP sockets
Control path
Control path
Umem Area
Umem Area
xsk_umem__create
xsk_umem__create_with_fd
xsk_umem__delete
xsk_umem__fd
xsk_umem__get_data
xsk_umem__extract_addr
xsk_umem__extract_offset
xsk_umem__add_offset_to_addr
Sockets
Sockets
xsk_socket__create
xsk_socket__create_shared
xsk_socket__delete
xsk_socket__fd
xsk_setup_xdp_prog
xsk_socket__update_xskmap
Data path
Data path
Producer rings
Producer rings
xsk_ring_prod__reserve
xsk_ring_prod__submit
xsk_ring_prod__fill_addr
xsk_ring_prod__tx_desc
xsk_ring_prod__needs_wakeup
Consumer rings
Consumer rings
xsk_ring_cons__peek
xsk_ring_cons__cancel
xsk_ring_cons__release
xsk_ring_cons__comp_addr
xsk_ring_cons__rx_desc
SCX Common
SCX Common
BPF_FOR_EACH_ITER
scx_bpf_bstr_preamble
scx_bpf_exit
scx_bpf_error
scx_bpf_dump
BPF_STRUCT_OPS
BPF_STRUCT_OPS_SLEEPABLE
RESIZABLE_ARRAY
ARRAY_ELEM_PTR
MEMBER_VPTR
__contains
private
bpf_obj_new
bpf_obj_drop
bpf_rbtree_add
bpf_refcount_acquire
cast_mask
likely
unlikely
READ_ONCE
WRITE_ONCE
log2_u32
log2_u64
__COMPAT_ENUM_OR_ZERO
__COMPAT_scx_bpf_task_cgroup
scx_bpf_dsq_insert
scx_bpf_dsq_insert_vtime
scx_bpf_dsq_move_to_local
__COMPAT_scx_bpf_dsq_move_set_slice
__COMPAT_scx_bpf_dsq_move_set_vtime
__COMPAT_scx_bpf_dsq_move
__COMPAT_scx_bpf_dsq_move_vtime
SCX_OPS_DEFINE
Concepts
Concepts
BPF CO-RE
BTF
ELF
FAQ
Libbpf concepts
Skeletons
Struct-ops
Linker
Ring buffers
Back to top