We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Building a Lightning Fast Firewall with Java & eBPF by Mohammed Aboullaite, Johannes Bechberger
Learn how to build a high-performance network firewall by combining Java and eBPF to run sandboxed programs in the Linux kernel for packet filtering & security.
-
eBPF is a technology that makes the Linux kernel programmable by allowing users to run sandboxed programs within the kernel safely
-
XDP (eXpress Data Path) with eBPF enables high-performance packet filtering and network processing at the kernel level before packets reach the network stack
-
The eBPF verifier ensures programs are safe to run in the kernel by checking bounds, memory access, and other security constraints
-
Java developers can now write eBPF programs using Java syntax through Project Panama integration, without needing to write C code directly
-
eBPF programs are event-driven and must be attached to specific hook points in the kernel like system calls, network interfaces, or kernel functions
-
Key use cases include networking/firewalls, observability/monitoring, and security tooling
-
eBPF maps provide bidirectional communication between userspace and kernel space programs, allowing data sharing and configuration
-
Performance benefits come from processing packets early in the network path and reducing context switches between kernel and userspace
-
eBPF programs can be dynamically loaded and updated without requiring kernel module compilation or system reboots
-
The technology is being widely adopted by companies like Meta, Cloudflare and others for production use cases like load balancing and monitoring