Filter by topic and date
BPF: taking work to the IETF
- David Vernet BPF Working Group Co-chair
- Suresh Krishnan BPF Working Group Co-chair
5 Jul 2023
The new BPF Working Group is beginning work to document the state of the ecosystem and extensions for this technology that has origins in the Linux kernel and is increasingly being used beyond Linux.
eBPF, which is no longer an acronym for anything and is commonly referred to as BPF, is a technology that can run programs in a privileged context, such as an operating system kernel. It is used to safely and efficiently extend the capabilities of the kernel without requiring to change kernel source code or load kernel modules. BPF is widely deployed on operating systems, such as Linux and Microsoft Windows, and is also implemented in some network interface cards.
As the number of implementations and deployments of BPF has grown, there have been discussions about what kind of standardization is appropriate and required to support further adoption by an even broader range of manufacturers and platforms. Several options were considered by the eBPF Foundation, which was founded under the Linux Foundation in December 2021. In the end, the eBPF Steering Committee decided to pursue standardization in the IETF because of its openness, the relative ease of its processes and global scope, and its institutional experience with both networking and non-networking topics.
Discussions began between members of the BPF and IETF communities, including on an IETF mailing list, following an informal side meeting at IETF 115 in 2022 to discuss BPF standardization and explore whether IETF was an appropriate venue for that standardization. This was followed by a formal Birds of Feather session at the IETF 116 meeting in March 2023. These discussions, and subsequent due diligence, led to a formal chartering of the BPF Working Group in May 2023. A bit different from most IETF Working Groups, group discussions will take place simultaneously on the bpf@ietf.org and bpf@vger.kernel.org mailing lists, with the list archives for both available for anyone to review. To propose changes to any working group document, you can create a patch to the bpf-next.git kernel tree, and email that patch to both lists for discussion and review. See Submitting patches: the essential guide to getting your code into the kernel for an overview of how to send patches to the Linux kernel mailing list, and How to Interact with the BPF Subsystem for BPF-specific patch submission processes.
Interested in learning more or getting involved? Sign up for one (or both) of the mailing lists, consider contributing to the instruction-set.rst document, or get more acquainted with how the IETF works generally and how to start participating.