├── 1-hello ├── Makefile ├── README.md ├── bpf_load.c ├── bpf_load.h ├── hello_kern.c └── hello_user.c ├── 2-openat ├── Makefile ├── README.md ├── bpf_load.c ├── bpf_load.h ├── hello_user.c ├── openat1_kern.c ├── openat2_kern.c ├── openat3_kern.c └── openat4_kern.c ├── 3-map ├── Makefile ├── README.md ├── bpf_load.c ├── bpf_load.h ├── map1_kern.c ├── map1_user.c ├── map2_kern.c └── map2_user.c ├── 4-CO-RE ├── Makefile ├── README.md ├── connect.c └── connect_kern.c ├── 5-xdp ├── Makefile ├── acl.c ├── acl.h ├── china_ip_list.txt ├── ebpf.h ├── ebpf_kern.c ├── ipv4_test.txt ├── log.c ├── log.h ├── main.c ├── param.c └── param.h ├── Appendix └── 1-the-Overview-of-Linux-Trace-Techonoly.md ├── LICENSE ├── README.md └── pics └── Instrumentation-Methods-for-Online-Analytics.png /1-hello/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/1-hello/Makefile -------------------------------------------------------------------------------- /1-hello/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/1-hello/README.md -------------------------------------------------------------------------------- /1-hello/bpf_load.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/1-hello/bpf_load.c -------------------------------------------------------------------------------- /1-hello/bpf_load.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/1-hello/bpf_load.h -------------------------------------------------------------------------------- /1-hello/hello_kern.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/1-hello/hello_kern.c -------------------------------------------------------------------------------- /1-hello/hello_user.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/1-hello/hello_user.c -------------------------------------------------------------------------------- /2-openat/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/2-openat/Makefile -------------------------------------------------------------------------------- /2-openat/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/2-openat/README.md -------------------------------------------------------------------------------- /2-openat/bpf_load.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/2-openat/bpf_load.c -------------------------------------------------------------------------------- /2-openat/bpf_load.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/2-openat/bpf_load.h -------------------------------------------------------------------------------- /2-openat/hello_user.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/2-openat/hello_user.c -------------------------------------------------------------------------------- /2-openat/openat1_kern.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/2-openat/openat1_kern.c -------------------------------------------------------------------------------- /2-openat/openat2_kern.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/2-openat/openat2_kern.c -------------------------------------------------------------------------------- /2-openat/openat3_kern.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/2-openat/openat3_kern.c -------------------------------------------------------------------------------- /2-openat/openat4_kern.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/2-openat/openat4_kern.c -------------------------------------------------------------------------------- /3-map/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/3-map/Makefile -------------------------------------------------------------------------------- /3-map/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/3-map/README.md -------------------------------------------------------------------------------- /3-map/bpf_load.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/3-map/bpf_load.c -------------------------------------------------------------------------------- /3-map/bpf_load.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/3-map/bpf_load.h -------------------------------------------------------------------------------- /3-map/map1_kern.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/3-map/map1_kern.c -------------------------------------------------------------------------------- /3-map/map1_user.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/3-map/map1_user.c -------------------------------------------------------------------------------- /3-map/map2_kern.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/3-map/map2_kern.c -------------------------------------------------------------------------------- /3-map/map2_user.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/3-map/map2_user.c -------------------------------------------------------------------------------- /4-CO-RE/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/4-CO-RE/Makefile -------------------------------------------------------------------------------- /4-CO-RE/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/4-CO-RE/README.md -------------------------------------------------------------------------------- /4-CO-RE/connect.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/4-CO-RE/connect.c -------------------------------------------------------------------------------- /4-CO-RE/connect_kern.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/4-CO-RE/connect_kern.c -------------------------------------------------------------------------------- /5-xdp/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/5-xdp/Makefile -------------------------------------------------------------------------------- /5-xdp/acl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/5-xdp/acl.c -------------------------------------------------------------------------------- /5-xdp/acl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/5-xdp/acl.h -------------------------------------------------------------------------------- /5-xdp/china_ip_list.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/5-xdp/china_ip_list.txt -------------------------------------------------------------------------------- /5-xdp/ebpf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/5-xdp/ebpf.h -------------------------------------------------------------------------------- /5-xdp/ebpf_kern.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/5-xdp/ebpf_kern.c -------------------------------------------------------------------------------- /5-xdp/ipv4_test.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/5-xdp/ipv4_test.txt -------------------------------------------------------------------------------- /5-xdp/log.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/5-xdp/log.c -------------------------------------------------------------------------------- /5-xdp/log.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/5-xdp/log.h -------------------------------------------------------------------------------- /5-xdp/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/5-xdp/main.c -------------------------------------------------------------------------------- /5-xdp/param.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/5-xdp/param.c -------------------------------------------------------------------------------- /5-xdp/param.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/5-xdp/param.h -------------------------------------------------------------------------------- /Appendix/1-the-Overview-of-Linux-Trace-Techonoly.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/Appendix/1-the-Overview-of-Linux-Trace-Techonoly.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/README.md -------------------------------------------------------------------------------- /pics/Instrumentation-Methods-for-Online-Analytics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/time-river/Linux-eBPF-Learning/HEAD/pics/Instrumentation-Methods-for-Online-Analytics.png --------------------------------------------------------------------------------