功能，比如附在不同的tracepoints上，从而获取当前内核运行的许多信息。传统的BPF，现在被称为“classical BPF”。eBPF由Alexei Starovoitov在PluMgrid工作时设计，这家公司专注于研究新的方法来设计软件定义网络解决方案。在它只是一个提议时，Daniel Borkmann——Red Hat公司的内核工程师，帮助修改使得它能够进入内核代码并完全替代已有的BPF实现。这是二十年来BPF首次主要的更新，使得BPF成为了一个通用的虚拟机。eBPF被Linux内核