Author: Jase Batchelor
@WIP Berkeley Packet Filter
-
Introduction
-
BPF TC
-
BPF XDP
-
BPF kprobes
Aya
-
https://aya-rs.dev/book/start/hello-xdp/#verifying-the-program
-
https://www.deepfence.io/blog/aya-your-trusty-ebpf-companion
-
https://blog.fponzi.me/2023-06-22-experiments-with-ebpf-snitchrs.html
-
https://github.com/FedericoPonzi/snitchrs/blob/main/snitchrs-ebpf/rust-toolchain.toml
-
https://rust-lang.github.io/rustup/overrides.html#the-toolchain-file
-
https://naftalyava.com/example-xdp-ebpf-code-for-handling-ingress-traffic/
-
https://github.com/naftalyava/ebpf_and_xdp_examples/blob/main/block_ping/main.c
-
https://github.com/xdp-project/xdp-tutorial/blob/master/setup_dependencies.org
-
https://medium.com/@luishrsoares/getting-started-with-cilium-ebpf-778d00c113aa
Part 1: we lay out the problem set Part 2: we dive into eBPF in a general sense to familiarize ourselves with the technology before reaching out to Rust Part 3: we look at current state of eBPF networking in Rust and what it would look like to solve our Part 1 problem Part 4: We do a deep dive into the current networking implementation of redbpf-probes and note areas we want to improve Part 5 (Coming Soon): We propose ideas for improving the redbpf-probes networking modules
-
https://lwn.net/Articles/779120/ Concurrency management in BPF
-
https://www.deepfence.io/blog/ebpfguard-a-library-for-inline-mitigation-of-threats
-
https://github.com/deepfence/ebpfguard-blog-example/blob/main/src/main.rs
Go - Gophers & Bees - parsing Golang structures in memory with eBPF
eBPF explorer https://github.com/ebpfdev/explorer