eBPF is a hot topic right now; most of the infrastructure-focused conferences and events have included talks on eBPF over the past year, which is creating a lot of interest in the technology.
You might be wondering what eBPF is. eBPF stands for “extended Berkeley Packet Filter” which is a feature in modern Linux kernels that allows you to write mini-programs that are attached to low-level hooks in the Linux kernel, that execute based on certain events (e.g. filtering network traffic). While Calico is primarily focused on networking and security use cases, eBPF is a broad technology that applies to many other use cases as well.
We’ve always been tracking eBPF and it’s potential to enhance Calico, however, most users have not been ready for it. Improving on Calico’s already excellent dataplane using eBPF requires the latest Linux kernels, that are not always available to our enterprise customers that require a vendor-supported Linux distribution to run in production. Nevertheless, we decided to add an eBPF dataplane to support those users that are able to use the latest Linux kernels, as well as provide a future-proofed path for those who will wait until their vendor-supported Linux distributions will support the latest eBPF features.
A year ago, the engineering team at Tigera embarked on a project to add eBPF support to Project Calico. We started by prioritizing common real-world use cases that could benefit from eBPF features:
- Calico 3.7 uses eBPF to improve an existing Calico use case for mitigation of denial of service (DOS) attacks.
- Calico 3.8 introduced Envoy sidecar acceleration that helps improve the performance of a service mesh.
- Calico 3.13 introduced a full eBPF dataplane.
The standard Linux networking pipeline has been tried and proven, and will likely be the choice for most enterprise users for several more years. Calico will continue to support and enhance its capabilities that leverage the standard Linux networking stack we are all familiar with. And for those who are ready to use the latest eBPF features, Calico is there for you too; with the same easy to use networking, network policy, and IP address management capabilities that have earned Calico the phrase “it just works”.
Get more details and see the results of our performance testing on the ProjectCalico.org blog.