Skip to content

Examples for libbpf, aquasecurity/libbpfgo and cilium/ebpf

License

Notifications You must be signed in to change notification settings

mozillazg/hello-libbpfgo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hello-libbpfgo

Build examples

Examples for libbpf, aquasecurity/libbpfgo and cilium/ebpf.

setup develop env

$ vagrant up

Program Types

Examples by program type:

Program Type Attach Type ELF Section Name Examples
BPF_PROG_TYPE_CGROUP_DEVICE BPF_CGROUP_DEVICE cgroup/dev  
BPF_PROG_TYPE_CGROUP_SKB   cgroup/skb  
BPF_CGROUP_INET_EGRESS cgroup_skb/egress  
BPF_CGROUP_INET_INGRESS cgroup_skb/ingress  
BPF_PROG_TYPE_CGROUP_SOCKOPT BPF_CGROUP_GETSOCKOPT cgroup/getsockopt  
BPF_CGROUP_SETSOCKOPT cgroup/setsockopt  
BPF_PROG_TYPE_CGROUP_SOCK_ADDR BPF_CGROUP_INET4_BIND cgroup/bind4  
BPF_CGROUP_INET4_CONNECT cgroup/connect4  
BPF_CGROUP_INET4_GETPEERNAME cgroup/getpeername4  
BPF_CGROUP_INET4_GETSOCKNAME cgroup/getsockname4  
BPF_CGROUP_INET6_BIND cgroup/bind6  
BPF_CGROUP_INET6_CONNECT cgroup/connect6  
BPF_CGROUP_INET6_GETPEERNAME cgroup/getpeername6  
BPF_CGROUP_INET6_GETSOCKNAME cgroup/getsockname6  
BPF_CGROUP_UDP4_RECVMSG cgroup/recvmsg4  
BPF_CGROUP_UDP4_SENDMSG cgroup/sendmsg4  
BPF_CGROUP_UDP6_RECVMSG cgroup/recvmsg6  
BPF_CGROUP_UDP6_SENDMSG cgroup/sendmsg6  
BPF_PROG_TYPE_CGROUP_SOCK BPF_CGROUP_INET4_POST_BIND cgroup/post_bind4  
BPF_CGROUP_INET6_POST_BIND cgroup/post_bind6  
BPF_CGROUP_INET_SOCK_CREATE cgroup/sock_create  
cgroup/sock  
BPF_CGROUP_INET_SOCK_RELEASE cgroup/sock_release  
BPF_PROG_TYPE_CGROUP_SYSCTL BPF_CGROUP_SYSCTL cgroup/sysctl  
BPF_PROG_TYPE_EXT   freplace+  
BPF_PROG_TYPE_FLOW_DISSECTOR BPF_FLOW_DISSECTOR flow_dissector  
BPF_PROG_TYPE_KPROBE   kprobe+ 28 29
kretprobe+ 28 29
ksyscall+ 30 31
kretsyscall+ 30 31
uprobe+  
uprobe.s+  
uretprobe+  
uretprobe.s+  
usdt+  
BPF_TRACE_KPROBE_MULTI kprobe.multi+  
kretprobe.multi+  
BPF_PROG_TYPE_LIRC_MODE2 BPF_LIRC_MODE2 lirc_mode2  
BPF_PROG_TYPE_LSM BPF_LSM_CGROUP lsm_cgroup+  
BPF_LSM_MAC lsm+ 26
lsm.s+  
BPF_PROG_TYPE_LWT_IN   lwt_in  
BPF_PROG_TYPE_LWT_OUT   lwt_out  
BPF_PROG_TYPE_LWT_SEG6LOCAL   lwt_seg6local  
BPF_PROG_TYPE_LWT_XMIT   lwt_xmit  
BPF_PROG_TYPE_PERF_EVENT   perf_event  
BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE   raw_tp.w+  
raw_tracepoint.w+  
BPF_PROG_TYPE_RAW_TRACEPOINT   raw_tp+ 12 13
raw_tracepoint+
BPF_PROG_TYPE_SCHED_ACT   action  
BPF_PROG_TYPE_SCHED_CLS   classifier 21 25
tc
BPF_PROG_TYPE_SK_LOOKUP BPF_SK_LOOKUP sk_lookup  
BPF_PROG_TYPE_SK_MSG BPF_SK_MSG_VERDICT sk_msg  
BPF_PROG_TYPE_SK_REUSEPORT BPF_SK_REUSEPORT_SELECT_OR_MIGRATE sk_reuseport/migrate  
BPF_SK_REUSEPORT_SELECT sk_reuseport  
BPF_PROG_TYPE_SK_SKB   sk_skb  
BPF_SK_SKB_STREAM_PARSER sk_skb/stream_parser  
BPF_SK_SKB_STREAM_VERDICT sk_skb/stream_verdict  
BPF_PROG_TYPE_SOCKET_FILTER   socket 18 19 20
BPF_PROG_TYPE_SOCK_OPS BPF_CGROUP_SOCK_OPS sockops  
BPF_PROG_TYPE_STRUCT_OPS   struct_ops+  
BPF_PROG_TYPE_SYSCALL   syscall  
BPF_PROG_TYPE_TRACEPOINT   tp+ 04 07 14 35 36 37
tracepoint+
BPF_PROG_TYPE_TRACING BPF_MODIFY_RETURN fmod_ret+  
fmod_ret.s+  
BPF_TRACE_FENTRY fentry+ 32
fentry.s+  
BPF_TRACE_FEXIT fexit+ 32
fexit.s+  
BPF_TRACE_ITER iter+ 34
iter.s+  
BPF_TRACE_RAW_TP tp_btf+ 16 17
BPF_PROG_TYPE_XDP BPF_XDP_CPUMAP xdp.frags/cpumap  
xdp/cpumap  
BPF_XDP_DEVMAP xdp.frags/devmap  
xdp/devmap  
BPF_XDP xdp.frags  
xdp 33

https://mozillazg.com/tag/libbpf.html