eBPF

E341122

eBPF is a powerful in-kernel virtual machine and programmable framework in the Linux kernel that enables safe, efficient, and dynamic instrumentation, networking, and security observability without modifying kernel source code.

All labels observed (4)

Label Occurrences
eBPF canonical 2
eBPF JIT compiler 1
eBPF maps 1

How this entity was disambiguated

Statements (114)

Predicate Object
instanceOf Linux kernel subsystem
kernel technology
programming framework
virtual machine
abbreviationOf extended Berkeley Packet Filter
basedOn Berkeley Packet Filter
compiledWith Clang
LLVM
designedFor Linux
surface form: Linux operating system

high-performance packet processing
low-overhead observability
runtime programmability
enables attaching programs to kernel hooks
attaching programs to user-space probes
dynamic tracing of kernel events
dynamic tracing of user-space events
fine-grained security monitoring
in-kernel data processing
per-application observability
per-cgroup observability
per-container observability
policy enforcement in kernel fast path
programmable networking data plane
fullName extended Berkeley Packet Filter
governedBy kernel verifier rules
hasComponent eBPF self-linksurface differs
surface form: eBPF JIT compiler

eBPF bytecode
eBPF helper functions
eBPF hooks
eBPF self-linksurface differs
surface form: eBPF maps

eBPF program types
eBPF self-linksurface differs
surface form: eBPF verifier
hasLanguageBinding C
Go
LLVM
surface form: LLVM IR

Python
Rust
hasMapType LRU hash map
array map
hash map
per-CPU array map
per-CPU hash map
queue map
ring buffer map
stack map
stack trace map
hasProgramType LSM program
XDP program
cgroup program
kprobe program
kretprobe program
perf event program
socket filter program
tc classifier program
tracepoint program
uprobes program
hasProperty event-driven
in-kernel virtual machine
interpreted bytecode
just-in-time compiled
no kernel source modification required
privilege-separated
safe execution model
sandboxed
verifier-based safety checks
hasUseCase DDoS mitigation
Kubernetes observability
application profiling
container networking
intrusion detection
network observability
runtime security enforcement
security monitoring
service mesh acceleration
system call filtering
system performance monitoring
hasUserSpaceComponent BCC
Linux kernel tools
surface form: bpftool

bpftrace
libbpf
introducedIn Linux kernel
surface form: Linux kernel 3.x series
relatedTo Linux Security Modules API
surface form: Linux Security Modules

XDP
netfilter
perf events
tc (traffic control)
replaces classic BPF
runsIn Linux kernel
securityProperty prevents arbitrary pointer dereferences
prevents unbounded loops in older kernels
requires privileged loading by default
restricts memory access to maps and stack
standardizedBy Linux kernel community
supports dynamic instrumentation
load balancing
networking
packet filtering
performance observability
policy enforcement
profiling
sandboxed program execution
security observability
tracing
traffic control
usedBy Cilium CNI plugin
surface form: Cilium

Falco
Hubble
Katran
Pixie
many cloud-native observability tools
uses bytecode instruction set
kernel helper calls
maps for data storage
restricted instruction set

How these facts were elicited

Referenced by (5)

Full triples — surface form annotated when it differs from this entity's canonical label.

DTrace influenced eBPF
eBPF hasComponent eBPF self-linksurface differs
this entity surface form: eBPF verifier
eBPF hasComponent eBPF self-linksurface differs
this entity surface form: eBPF JIT compiler
eBPF hasComponent eBPF self-linksurface differs
this entity surface form: eBPF maps