714:. Tail calls are particularly useful in eBPF, where the stack is limited to 512 bytes. During runtime, functionality can be added or replaced atomically, thus altering the BPF program’s execution behavior. A popular use case for tail calls is to spread the complexity of eBPF programs over several programs. Another use case is for replacing or extending logic by replacing the contents of the program array while it is in use. For example, to update a program version without
38:
819:
library adapts eBPF programs to work with the data structure layout on the target kernel where they run, even if this layout is different from the kernel where the code was compiled. To do this, libbpf needs the BPF CO-RE relocation information generated by Clang as part of the compilation process.
797:
from the kernel. Some structures can be modified between different kernel versions, altering the memory layout. Since the Linux kernel is continuously developed, there is no guarantee that the internal data structures will remain the same across different versions. CO-RE is a fundamental concept in
810:
format that describes the types used in the kernel and eBPF programs and provides detailed information about struct layouts, field offsets, and data types. It enables runtime accessibility of kernel types, which is crucial for BPF program development and verification. BTF is included in the kernel
769:
must be released and only one lock can be held at a time to avoid deadlocks over multiple programs, checking that programs are not allowed to read uninitialized memory. This is not an exhaustive list of the checks the verifier does, and there are exceptions to these rules. An example is that
651:
and can be used to share data among multiple eBPF programs or to communicate between a user space application and eBPF code running in the kernel. eBPF programs can leverage eBPF maps to store and retrieve data in a wide set of data structures. Map implementations are provided by the core kernel.
265:
environments, where the execution environment is restricted and the runtime has no insight about the program. Examples of programs that are automatically rejected are programs without strong exit guarantees (i.e. for/while loops without exit conditions) and programs dereferencing pointers without
748:
search through all possible paths of the program, the verifier simulates the execution of each instruction, tracking the state of registers and stack if any instruction could lead to an unsafe state, verification fails. This process continues until all paths have been analyzed or a violation is
743:
The verifier is a core component of eBPF, and its main responsibility is to ensure that an eBPF program is safe to execute. It performs a static analysis of the eBPF bytecode to guarantee its safety. The verifier analyzes the program to assess all possible execution paths. It steps through the
655:
In practice, eBPF maps are typically used for scenarios such as a user space program writing configuration information to be retrieved by an eBPF program, an eBPF program storing state for later retrieval by another eBPF program (or a future run of the same program), or an eBPF program writing
338:
eBPF evolved from the classic
Berkeley Packet Filter (cBPF, a retroactively-applied name). At the most basic level, it introduced the use of ten 64-bit registers (instead of two 32-bit long registers for cBPF), different jump semantics, a call instruction and corresponding register passing
410:
use case was merged. In the same month, initial infrastructure work got accepted to attach eBPF to the networking traffic control (tc) layer allowing to attach eBPF to the core ingress and later also egress paths of the network stack, later heavily used by projects such as
734:
resulting in a BPF object file that had duplicate functions. This restriction was lifted, and mainstream eBPF compilers now support writing functions naturally in eBPF programs. This reduces the generated eBPF code size making it friendlier to a CPU instruction cache.
543:
The bpfilter prototype has been published, allowing translation of a subset of iptables rulesets into eBPF via a newly developed user mode driver. The work has caused controversies due to the ongoing nftables development effort and has not been merged into mainline.
757:, checking that an eBPF program is not allowed to read arbitrary memory because being able to arbitrary read memory could allow a program leak sensitive information, checking that network programs are not allowed to access memory outside of
1857:
Høiland-Jørgensen, Toke; Brouer, Jesper
Dangaard; Borkmann, Daniel; Fastabend, John; Herbert, Tom; Ahern, David; Miller, David (December 2018). "The eXpress data path: Fast programmable packet processing in the operating system kernel".
890:. The purpose is to raise, budget and spend funds in support of various open source, open data and/or open standards projects relating to eBPF technologies to further drive the growth and adoption of the eBPF ecosystem. Since inception,
1112:. While unprivileged eBPF implemented mitigations against transient execution attacks, unprivileged use has ultimately been disabled by the kernel community by default to protect from use against future hardware vulnerabilities.
749:
found. Depending on the type of program, the verifier checks for violations of specific rules. These rules can include checking that an eBPF program always terminates within a reasonable amount of time (no
798:
modern eBPF development that allows eBPF programs to be portable across different kernel versions and configurations. It addresses the challenge of kernel structure variations between different
874:
The eBPF Foundation was created in August 2021 with the goal to expand the contributions being made to extend the powerful capabilities of eBPF and grow beyond Linux. Founding members include
322:
said, "BPF has actually been really useful, and the real power of it is how it allows people to do specialized code that isn't enabled until asked for". Due to its success in Linux, the eBPF
3200:
1145:
394:. It was replaced by an eBPF interpreter and the Linux kernel internally translates classic BPF (cBPF) into eBPF instructions. It was released in version 3.18 of the Linux kernel.
3148:
866:
was named "eBee". The logo has originally been created by Vadim
Shchekoldin. Earlier unofficial eBPF mascots have existed in the past, but have not seen widespread adoption.
710:
system call operates for regular processes. This basically allows an eBPF program to call another eBPF program. Tail calls are implemented as a long jump, reusing the same
1208:
515:
eBPF becomes its own kernel subsystem to ease the continuously growing kernel patch management. The first pull request by eBPF maintainers was submitted.
3800:
3380:
843:
The alias eBPF is often interchangeably used with BPF, for example by the Linux kernel community. eBPF and BPF is referred to as a technology name like
239:(BPF, with the "e" originally meaning "extended") filtering mechanism in Linux and is also used in non-networking parts of the Linux kernel as well.
1930:
531:
A new socket family called AF_XDP was published, allowing for high performance packet processing with zero-copy semantics at the XDP layer. Today,
3981:
3976:
3775:
1350:
2946:
730:
encapsulating logic for reusability. Prior to Linux kernel 4.16 and LLVM 6.0, a typical eBPF C program had to explicitly direct the compiler to
3966:
3124:
1698:
442:
announced a collection of new eBPF-based tracing tools as the bcc project, providing a front-end for eBPF to make it easier to write programs.
831:-generated relocations. The ELF format allows the eBPF loader (e.g., libbpf) to process and adjust the BPF program dynamically for the target
2370:
2634:
1753:
580:
BTF (BPF Type Format) has been added to the Linux kernel as an efficient meta data format which is approximately 100x smaller in size than
2920:
3925:
3903:
3881:
3859:
3840:
2486:
1877:
1213:
243:
3406:
1956:
1105:
1901:
782:
727:
964:
1376:
821:
1620:
815:(e.g., LLVM). These relocations capture high-level descriptions of what information the eBPF program intends to access. The
770:
tracing programs have access to helpers that allow them to read memory in a controlled way, but these program types require
1590:
3971:
3749:
1805:
1460:
1564:
803:
777:
Over time the eBPF verifier has evolved to include newer features and optimizations, such as support for bounded loops,
754:
676:
that run on the CPU. Early implementations of eBPF saw eBPF bytecode interpreted, but this has now been replaced with a
673:
100:
2764:
3354:
2037:
1242:
762:
1646:
3330:
2141:
952:
311:
196:
2972:
2790:
2868:
2326:
851:
as an extended version, but as its use cases outgrew networking, today "eBPF" is preferentially interpreted as a
832:
232:
3281:
2063:
940:
677:
569:
283:
155:
761:
bounds because adjacent memory could contain sensitive information, checking that programs are not allowed to
3050:
2011:
1672:
1512:
1100:
Due to the ease of programmability, eBPF has been used as a tool for implementing microarchitectural timing
616:
391:
314:
subsystems. Given eBPF's efficiency and flexibility opened up new possibilities to solve production issues,
275:
2274:
2167:
1779:
1431:
848:
604:
450:
eBPF got the ability to be attached into network driver's core receive path. This layer is known today as
251:
236:
2556:
1299:
1088:
924:
778:
703:
360:
279:
225:
2842:
1146:"Meta, Google, Isovalent, Microsoft and Netflix Launch eBPF Foundation as Part of the Linux Foundation"
3680:"IKEA Private Cloud, eBPF Based Networking, Load Balancing, and Observability with... Karsten Nielsen"
2998:
458:
to create a fast data path which works in combination with the Linux kernel rather than bypassing it.
107:
3149:"How Does Alibaba Cloud Build High-Performance Cloud-Native Pod Networks in Production Environments?"
2894:
1101:
255:
1860:
Proceedings of the 14th
International Conference on emerging Networking EXperiments and Technologies
1486:
3309:
Keynote: Open Source
Intrusion Detection for Containers at Shopify - Shane Lawrence & Kris Nóva
3104:
Software L4 Load
Balancing for Kubernetes Services at Yahoo! – Karthikeyan Thangaraj, Verizon Media
178:
3550:"Think eBPF for Kernel Security Monitoring - Falco at Apple- Eric Sage & Melissa Kilby, Apple"
1182:
2426:
1883:
1076:
799:
745:
707:
688:
477:
container networking with eBPF and XDP. Today, Cilium has been adopted by major cloud provider's
466:
412:
407:
390:, primary maintainer of the Linux networking stack, accepted the rework of the old in-kernel BPF
307:
3918:
Learning eBPF: Programming the Linux Kernel for
Enhanced Observability, Networking, and Security
3432:
2869:"Live-patching security vulnerabilities inside the Linux kernel with eBPF Linux Security Module"
2362:
Learning eBPF: programming the Linux Kernel for enhanced observability, networking, and security
523:
Bpftool was added to the Linux kernel as a user space utility to introspect the eBPF subsystem.
298:
kernel and are run upon triggering of an event. eBPF use cases include (but are not limited to)
3654:"DIGLIM eBPF: secure boot at application level with minimal changes to distros - Roberto Sassu"
3077:"BPF for Android: How we leverage BPF for our networking solutions - Madhan Raj Kanagarathinam"
3024:
2248:
656:
results or metrics into a map for retrieval by a user space program that will present results.
3921:
3899:
3877:
3855:
3836:
3576:"eBPF & Cilium at Sky – Sebastian Duff, Anthony Comtois, Jospeh [sic] Samuel, Sky"
3255:
2482:
2376:
2366:
1873:
1121:
451:
303:
299:
287:
171:
726:
It is generally considered good practice in software development to group common code into a
3460:
Rate limiting access to internal services in a virtual network – Nick
Bouliane, DigitalOcean
3174:
1863:
1413:
1150:
295:
229:
190:
162:
3528:
862:
is the official logo for eBPF. At the first eBPF Summit there was a vote taken and the bee
258:
and rejects programs which crash, hang or otherwise interfere with the kernel negatively.
1109:
917:
uses eBPF through their Katran layer 4 load-balancer for all traffic going to facebook.com
731:
684:
665:
644:
387:
683:
The eBPF virtual machine consists of eleven 64-bit registers with 32-bit subregisters, a
2193:
3628:"High Performance Load Balancing @Walmart – Kanthi Pavuluri & Karan Dalal, Walmart"
958:
914:
875:
794:
758:
500:
323:
319:
183:
63:
2502:
3960:
3869:
3828:
2531:
2474:
2450:
2399:
1436:
976:
750:
553:
439:
315:
1887:
1417:
1025:
uses eBPF and XDP to rate limit access to internal services in their virtual network
3707:
Panel
Discussion: Is There Actually a Byte Behind All the Buzz? eBPF in Production!
2816:
1022:
648:
504:
376:
847:. eBPF evolved from the machine language for the filtering virtual machine in the
3602:"Running and orchestrating multiple XDP and TC programs – Brian Merrell, Walmart"
2686:
744:
instructions in order and evaluates them. The verification process starts with a
136:
1985:
1034:
910:
eBPF has been adopted by a number of large-scale production users, for example:
899:
824:
339:
convention, new instructions, and a different encoding for these instructions.
247:
201:
2089:
3951:
3727:
3705:
3679:
3653:
3627:
3601:
3575:
3549:
3506:
3480:
3458:
3307:
3230:"Our eBPF Journey at Datadog - Laurent Bernaille & Tabitha Sable, Datadog"
3229:
3102:
3076:
2738:
2712:
2660:
2380:
2360:
1831:
1324:
1046:
1040:
1028:
980:
930:
711:
478:
242:
It is used to safely and efficiently extend the capabilities of the kernel at
57:
45:
3729:
Using user-space tracing to solve DNS problems – Andrius
Grabauskas, Palantir
3508:
Why eBPF is changing the telco networking space – Daniel Bernier, Bell Canada
927:, developed and uses BPF LSM to replace audit and it uses eBPF for networking
592:
The first 880-page long book on BPF, written by Brendan Gregg, was released.
1868:
1247:
1010:
883:
771:
699:
489:
262:
71:
3481:"Building a Secure and Maintainable PaaS - Bradley Whitfield, Capital One"
17:
2327:"bpf.h - include/uapi/linux/bpf.h - Linux source code v5.15.86 - Bootlin"
1091:
uses eBPF to debug networking problems in large scale Kubernetes clusters
1004:
992:
970:
933:
uses eBPF for load-balancing and DDoS protection and security enforcement
812:
807:
766:
715:
669:
470:
424:
371:
The first non-networking use case of the classic Berkeley Packet Filter,
2222:
1085:
uses eBPF at scale for load balancing and tracing in their private cloud
652:
There are various types, including hash maps, arrays, and ring buffers.
603:
upstreamed BPF LSM support into the Linux kernel, enabling programmable
282:(JIT compiled) for native execution performance. The execution model is
3331:"BPFAgent: eBPF for Monitoring at DoorDash - DoorDash Engineering Blog"
1931:"New GKE Dataplane V2 increases security and visibility for containers"
1082:
1058:
998:
986:
946:
936:
891:
887:
852:
627:
Microsoft released eBPF for Windows, which runs code in the NT kernel.
372:
327:
291:
75:
2947:"Extending Vector with eBPF to inspect host and container performance"
2608:
1406:
1209:"eBPF and Kubernetes: Little Helper Minions for Scaling Microservices"
572:
in order to support the ability for in-kernel TLS policy enforcement.
492:
added offload of eBPF programs for XDP and tc BPF layer to their NIC.
37:
3913:
3891:
3282:"Trip.com: Stepping into Cloud Native Networking Era with Cilium+BGP"
1064:
1052:
1043:
uses eBPF for code profiling as part of their observability offering
1016:
920:
895:
879:
863:
600:
557:
403:
67:
811:
image of BTF-enable kernels. Special relocations are emitted by the
2582:
2300:
2115:
1538:
816:
828:
668:
runs within the kernel and takes in a program in the form of eBPF
581:
503:'s layer 4 load-balancer, Katran, went live. Every packet towards
379:
using a configurable policy implemented through BPF instructions.
363:(JIT compiler) for the classic Berkeley Packet Filter got merged.
254:. Safety is provided through an in-kernel verifier which performs
167:
2194:"Combining kTLS and BPF for Introspection and Policy Enforcement"
1591:"Linux kernel 3.18, Section 1.3. bpf() syscall for eBFP [
3942:
eBPF.io - Introduction, tutorials & eBPF community resources
3381:"Getting Linux based eBPF programs to run with eBPF for Windows"
1070:
989:
uses eBPF for Kubernetes Pod networking and security enforcement
844:
532:
474:
455:
428:
1274:
2921:"How Netflix uses eBPF flow logs at scale for network insight"
859:
2739:"BPF security auditing at Google - Brendan Jackman/KP Singh"
1986:"XDP 1.5 Years In Production. Evolution and Lessons Learned"
691:
keep track of state when eBPF programs are executed.
687:
and a 512-byte large BPF stack space. These general purpose
3946:
2843:"Production ready eBPF, or how we fixed the BSD socket API"
2394:
2392:
2390:
2142:"Why is the kernel community replacing iptables with BPF?"
1902:"Cilium - Fast IPv6 Container Networking with BPF and XDP"
1806:"Add driver bpf hook for early packet drop and forwarding"
702:
can call and execute another eBPF program and replace the
3947:
eBPF.foundation - Linux Foundation's eBPF Foundation site
3776:"BPF and Spectre: Mitigating transient execution attacks"
1461:"Linus Torvalds talks about coming back to work on Linux"
1377:"eBPF - The Silent Platform Revolution from Cloud Native"
1351:"BPF and Spectre: Mitigating transient execution attacks"
3952:
eBPF documentary - Documentary on the beginnings of eBPF
2635:"Open-sourcing Katran, a scalable network load balancer"
1384:
SIGCOMM 2023, 1st Workshop on eBPF and Kernel Extensions
1140:
1138:
1136:
212:
3125:"Skyfall: eBPF agent for infrastructure observability"
1007:
uses eBPF through BPFAgent for kernel level monitoring
680:
process for performance and security-related reasons.
1727:
343:
Most significant milestones in the evolution of eBPF
274:
Loaded programs which passed the verifier are either
2791:"Cloudflare architecture and how BPF eats the world"
3941:
1019:
uses eBPF through Cilium for layer 4 load-balancing
967:
uses eBPF through Cilium for layer 4 load balancing
949:
uses eBPF through Katran for layer 4 load-balancing
902:, Tigera, DaoCloud, Datoms, FutureWei also joined.
481:offerings and is one of the most widely used CNIs.
326:has been ported to other operating systems such as
207:
189:
177:
161:
151:
99:
81:
56:
44:
2365:(First ed.). Sebastopol, CA: O'Reilly Media.
3850:David Calavera, Lorenzo Fontana (December 2019).
1067:uses eBPF through their DIGLIM secure boot system
535:has an official AF_XDP poll-mode driver support.
507:since then has been processed by eBPF & XDP.
2400:"BPF Architecture — Cilium 1.16.0 documentation"
1728:"eBPF-based Networking, Observability, Security"
1037:uses eBPF to moderize telco networking with SRv6
3750:"Reading privileged memory with a side-channel"
1001:uses eBPF for intrusion detection through Falco
290:, meaning, programs can be attached to various
2973:"Dropbox traffic infrastructure: Edge network"
827:. This file contains BTF-type information and
318:famously dubbed eBPF "superpowers for Linux".
3433:"Cilium Standalone Layer 4 Load Balancer XDP"
8:
1780:"bcc: Taming Linux 4.3+ Tracing Superpowers"
552:The new bpftrace tool has been announced by
30:
3801:"bpf: Disallow unprivileged bpf by default"
224:is a technology that can run programs in a
2895:"Unimog - Cloudflare's edge load balancer"
1957:"nfp ring reconfiguration and XDP support"
1647:"tracing: attach eBPF programs to kprobes"
973:uses eBPF for infrastructure observability
955:uses eBPF for NAT46 and traffic monitoring
820:The compiled eBPF program is stored in an
806:CO-RE comprises BTF (BPF Type Format) - a
789:eBPF CO-RE (Compile Once - Run Everywhere)
36:
29:
3407:"Progress on making eBPF work on Windows"
1867:
781:, function-by-function verification, and
2713:"eCHO episode 29: BPF LSM with KP Singh"
2275:"MAC and Audit policy using eBPF (KRSI)"
2223:"BTF deduplication and Linux kernel BTF"
1832:"eCHO episode 9: XDP and Load Balancing"
1407:"eBPF - From a Programmer's Perspective"
341:
3256:"User Story - How Trip.com uses Cilium"
3201:"Runtime Security Monitoring with eBPF"
1722:
1720:
1132:
1073:uses eBPF for Kubernetes Pod networking
1055:uses eBPF for Kubernetes Pod networking
1031:uses eBPF for Kubernetes Pod networking
995:uses eBPF for Kubernetes Pod networking
2526:
2524:
2421:
2419:
2168:"bpftrace (DTrace 2.0) for Linux 2018"
1980:
1978:
1925:
1923:
774:and thus do not pose a security risk.
568:eBPF introspection has been added for
2354:
2352:
2350:
2348:
2346:
1539:"Yet another new approach to seccomp"
1325:"Safe Programs The Foundation of BPF"
1049:uses eBPF for Kubernetes Pod security
454:(XDP) and was added as a response to
7:
1513:"net: filter: Just In Time compiler"
1300:"eBPF - Rethinking the Linux Kernel"
1269:
1267:
1237:
1235:
1233:
1216:KubeCon + CloudNativeCon Europe 2020
1177:
1175:
1173:
1171:
1169:
1061:uses eBPF for layer 4 load-balancing
822:ELF (Executable and Linkable Format)
672:instructions which are converted to
246:without requiring changes to kernel
3874:Systems Performance, Second edition
1465:zdnet Interview with Linus Torvalds
1275:"eBPF Documentation: What is eBPF?"
961:uses eBPF for Networking solutions
375:, appeared; it allows filtering of
261:This validation model differs from
25:
939:uses eBPF for fleet-wide network
793:eBPF programs use the memory and
3854:. O'Reilly Media, Incorporated.
3025:"Extending the Kernel with eBPF"
2765:"Replacing HTB with EDT and BPF"
1595:] virtual machine programs"
469:was initially announced during
27:Safe dynamic programs and tools
3982:Software using the MIT license
3977:Software using the GPL license
3754:googleprojectzero.blogspot.com
3329:Rogers, Patrick (2023-08-15).
2249:"BPF Performance Tools (book)"
2012:"pull-request: bpf 2017-11-23"
1699:"net, sched: add clsact qdisc"
1013:ported eBPF and XDP to Windows
678:Just-in-Time (JIT) compilation
615:The eBPF compiler backend for
402:The ability to attach eBPF to
1:
3967:Free software programmed in C
3355:"Making eBPF work on Windows"
1418:10.13140/RG.2.2.33688.11529/4
1405:Hedam, Niclas (26 May 2023).
1243:"Making eBPF work on Windows"
235:. It is the successor to the
3852:Linux Observability With BPF
3051:"NAT46 translation with BPF"
2609:"eBPF Foundation Governance"
2064:"Introducing AF_XDP support"
718:or to enable/disable logic.
473:as a project providing fast
3530:Elastic Universal Profiling
2455:ebpf-docs.dylanreimerink.nl
2431:ebpf-docs.dylanreimerink.nl
1187:USENIX LISA 2021 conference
674:native machine instructions
87:; 10 years ago
3998:
1673:"eBPF support for cls_bpf"
359:The first in-kernel Linux
3335:DoorDash Engineering Blog
2999:"eBPF Traffic Monitoring"
2583:"eBPF Foundation Charter"
2090:"AF_XDP Poll Mode Driver"
943:and performance diagnosis
634:Architecture and concepts
35:
3411:cloudblogs.microsoft.com
3385:cloudblogs.microsoft.com
3359:cloudblogs.microsoft.com
2532:"What is the bee named?"
2427:"Tail calls - eBPF Docs"
2116:"BPF comes to firewalls"
1754:"LLVM 3.7 Release Notes"
1079:uses eBPF for networking
643:eBPF maps are efficient
427:backend got merged into
286:and with few exceptions
3179:datadogon.datadoghq.com
2817:"It's crowded in here!"
2451:"BPF CO-RE - eBPF Docs"
1869:10.1145/3281411.3281443
1432:"Linux BPF Superpowers"
617:GNU Compiler Collection
62:Open source community,
2557:"eBPF: One Small Step"
849:Berkeley Packet Filter
605:Linux Security Modules
237:Berkeley Packet Filter
3833:BPF Performance Tools
2503:"eBPF Summit Day Two"
2479:BPF Performance Tools
1621:"Happy birthday BPF!"
1487:"Classic BPF vs eBPF"
1089:Palantir Technologies
779:dead-code elimination
706:, similar to how the
607:(LSMs) through eBPF.
361:just-in-time compiler
280:just-in-time compiled
3972:Free system software
2687:"From XDP to socket"
2561:Brendan Gregg's Blog
2038:"tools: add bpftool"
1355:POPL 2022 conference
1102:side-channel attacks
660:eBPF virtual machine
256:static code analysis
2951:netflixtechblog.com
2925:netflixtechblog.com
2899:blog.cloudflare.com
2873:blog.cloudflare.com
2847:blog.cloudflare.com
2821:blog.cloudflare.com
2795:blog.cloudflare.com
1386:. 10 September 2023
1108:against vulnerable
800:Linux distributions
344:
50:Alexei Starovoitov,
32:
3920:. O'Reilly Media.
3835:. Addison-Wesley.
3780:popl22.sigplan.org
3312:, 4 September 2020
3029:source.android.com
3003:source.android.com
2481:. Addison-Wesley.
2359:Rice, Liz (2023).
2331:elixir.bootlin.com
1862:. pp. 54–66.
1601:. December 7, 2014
1077:The New York Times
983:Pod load-balancing
619:(GCC) was merged.
342:
226:privileged context
46:Original author(s)
3872:(December 2020).
3831:(December 2019).
3710:, 28 October 2022
3175:"Datadog on eBPF"
2661:"BPF at Facebook"
2477:(December 2019).
2372:978-1-0981-3512-6
1758:releases.llvm.org
1599:kernelnewbies.org
1467:. 23 October 2018
1357:. 22 January 2022
1331:. 8 November 2020
1122:Express Data Path
732:inline a function
704:execution context
631:
630:
288:run-to-completion
219:
218:
143:/ebpf-for-windows
16:(Redirected from
3989:
3931:
3909:
3887:
3865:
3846:
3816:
3815:
3813:
3811:
3797:
3791:
3790:
3788:
3786:
3772:
3766:
3765:
3763:
3761:
3756:. 3 January 2018
3746:
3740:
3739:
3738:
3737:
3732:, 19 August 2021
3724:
3718:
3717:
3716:
3715:
3702:
3696:
3695:
3693:
3691:
3676:
3670:
3669:
3667:
3665:
3650:
3644:
3643:
3641:
3639:
3624:
3618:
3617:
3615:
3613:
3598:
3592:
3591:
3589:
3587:
3572:
3566:
3565:
3563:
3561:
3546:
3540:
3539:
3538:
3537:
3525:
3519:
3518:
3517:
3516:
3511:, 31 August 2021
3503:
3497:
3496:
3494:
3492:
3477:
3471:
3470:
3469:
3468:
3463:, 19 August 2021
3455:
3449:
3448:
3446:
3444:
3429:
3423:
3422:
3420:
3418:
3403:
3397:
3396:
3394:
3392:
3377:
3371:
3370:
3368:
3366:
3351:
3345:
3344:
3342:
3341:
3326:
3320:
3319:
3318:
3317:
3304:
3298:
3297:
3295:
3293:
3278:
3272:
3271:
3269:
3267:
3252:
3246:
3245:
3243:
3241:
3226:
3220:
3219:
3217:
3215:
3205:
3197:
3191:
3190:
3188:
3186:
3171:
3165:
3164:
3162:
3160:
3155:. September 2020
3153:alibabacloud.com
3145:
3139:
3138:
3136:
3135:
3129:www.linkedin.com
3121:
3115:
3114:
3113:
3112:
3107:, 19 August 2021
3099:
3093:
3092:
3090:
3088:
3073:
3067:
3066:
3064:
3062:
3047:
3041:
3040:
3038:
3036:
3021:
3015:
3014:
3012:
3010:
2995:
2989:
2988:
2986:
2984:
2969:
2963:
2962:
2960:
2958:
2943:
2937:
2936:
2934:
2932:
2917:
2911:
2910:
2908:
2906:
2901:. September 2020
2891:
2885:
2884:
2882:
2880:
2865:
2859:
2858:
2856:
2854:
2839:
2833:
2832:
2830:
2828:
2813:
2807:
2806:
2804:
2802:
2787:
2781:
2780:
2778:
2776:
2761:
2755:
2754:
2752:
2750:
2735:
2729:
2728:
2726:
2724:
2709:
2703:
2702:
2700:
2698:
2693:. September 2021
2683:
2677:
2676:
2674:
2672:
2657:
2651:
2650:
2648:
2646:
2631:
2625:
2624:
2622:
2620:
2605:
2599:
2598:
2596:
2594:
2579:
2573:
2572:
2570:
2568:
2553:
2547:
2546:
2544:
2542:
2528:
2519:
2518:
2516:
2514:
2499:
2493:
2492:
2471:
2465:
2464:
2462:
2461:
2447:
2441:
2440:
2438:
2437:
2423:
2414:
2413:
2411:
2410:
2396:
2385:
2384:
2356:
2341:
2340:
2338:
2337:
2323:
2317:
2316:
2314:
2312:
2307:. September 2020
2297:
2291:
2290:
2288:
2286:
2271:
2265:
2264:
2262:
2260:
2253:brendangregg.com
2245:
2239:
2238:
2236:
2234:
2219:
2213:
2212:
2210:
2208:
2198:
2190:
2184:
2183:
2181:
2179:
2172:brendangregg.com
2164:
2158:
2157:
2155:
2153:
2138:
2132:
2131:
2129:
2127:
2112:
2106:
2105:
2103:
2101:
2086:
2080:
2079:
2077:
2075:
2060:
2054:
2053:
2051:
2049:
2044:. September 2017
2034:
2028:
2027:
2025:
2023:
2008:
2002:
2001:
1999:
1997:
1982:
1973:
1972:
1970:
1968:
1953:
1947:
1946:
1944:
1942:
1935:cloud.google.com
1927:
1918:
1917:
1915:
1913:
1898:
1892:
1891:
1871:
1854:
1848:
1847:
1845:
1843:
1828:
1822:
1821:
1819:
1817:
1802:
1796:
1795:
1793:
1791:
1786:. September 2015
1784:brendangregg.com
1776:
1770:
1769:
1767:
1765:
1750:
1744:
1743:
1741:
1739:
1724:
1715:
1714:
1712:
1710:
1695:
1689:
1688:
1686:
1684:
1669:
1663:
1662:
1660:
1658:
1643:
1637:
1636:
1634:
1632:
1627:. September 2014
1617:
1611:
1610:
1608:
1606:
1587:
1581:
1580:
1578:
1576:
1561:
1555:
1554:
1552:
1550:
1545:. 1 January 2012
1535:
1529:
1528:
1526:
1524:
1509:
1503:
1502:
1500:
1498:
1483:
1477:
1476:
1474:
1472:
1457:
1451:
1450:
1448:
1446:
1428:
1422:
1421:
1411:
1402:
1396:
1395:
1393:
1391:
1381:
1373:
1367:
1366:
1364:
1362:
1347:
1341:
1340:
1338:
1336:
1329:eBPF Summit 2021
1321:
1315:
1314:
1312:
1310:
1296:
1290:
1289:
1287:
1285:
1271:
1262:
1261:
1259:
1257:
1250:Open Source Blog
1239:
1228:
1227:
1225:
1223:
1218:. 19 August 2020
1205:
1199:
1198:
1196:
1194:
1179:
1164:
1163:
1161:
1159:
1154:. 12 August 2021
1151:Linux Foundation
1142:
722:BPF to BPF calls
645:key/value stores
452:eXpress DataPath
345:
296:operating system
230:operating system
215:
163:Operating system
147:
144:
142:
140:
138:
132:
129:
127:
125:
123:
121:
119:
117:
115:
113:
111:
109:
95:
93:
88:
40:
33:
21:
3997:
3996:
3992:
3991:
3990:
3988:
3987:
3986:
3957:
3956:
3938:
3928:
3912:
3906:
3890:
3884:
3868:
3862:
3849:
3843:
3827:
3824:
3822:Further reading
3819:
3809:
3807:
3799:
3798:
3794:
3784:
3782:
3774:
3773:
3769:
3759:
3757:
3748:
3747:
3743:
3735:
3733:
3726:
3725:
3721:
3713:
3711:
3704:
3703:
3699:
3689:
3687:
3678:
3677:
3673:
3663:
3661:
3652:
3651:
3647:
3637:
3635:
3626:
3625:
3621:
3611:
3609:
3600:
3599:
3595:
3585:
3583:
3574:
3573:
3569:
3559:
3557:
3548:
3547:
3543:
3535:
3533:
3527:
3526:
3522:
3514:
3512:
3505:
3504:
3500:
3490:
3488:
3487:. November 2020
3479:
3478:
3474:
3466:
3464:
3457:
3456:
3452:
3442:
3440:
3431:
3430:
3426:
3416:
3414:
3413:. November 2019
3405:
3404:
3400:
3390:
3388:
3387:. February 2022
3379:
3378:
3374:
3364:
3362:
3353:
3352:
3348:
3339:
3337:
3328:
3327:
3323:
3315:
3313:
3306:
3305:
3301:
3291:
3289:
3288:. November 2020
3286:arthurchiao.art
3280:
3279:
3275:
3265:
3263:
3262:. February 2020
3254:
3253:
3249:
3239:
3237:
3236:. November 2020
3228:
3227:
3223:
3213:
3211:
3210:. February 2021
3203:
3199:
3198:
3194:
3184:
3182:
3181:. February 2021
3173:
3172:
3168:
3158:
3156:
3147:
3146:
3142:
3133:
3131:
3123:
3122:
3118:
3110:
3108:
3101:
3100:
3096:
3086:
3084:
3083:. February 2024
3081:www.youtube.com
3075:
3074:
3070:
3060:
3058:
3055:lore.kernel.org
3049:
3048:
3044:
3034:
3032:
3023:
3022:
3018:
3008:
3006:
2997:
2996:
2992:
2982:
2980:
2971:
2970:
2966:
2956:
2954:
2953:. February 2019
2945:
2944:
2940:
2930:
2928:
2919:
2918:
2914:
2904:
2902:
2893:
2892:
2888:
2878:
2876:
2867:
2866:
2862:
2852:
2850:
2849:. February 2022
2841:
2840:
2836:
2826:
2824:
2815:
2814:
2810:
2800:
2798:
2789:
2788:
2784:
2774:
2772:
2769:netdevconf.info
2763:
2762:
2758:
2748:
2746:
2745:. November 2021
2737:
2736:
2732:
2722:
2720:
2719:. November 2021
2711:
2710:
2706:
2696:
2694:
2685:
2684:
2680:
2670:
2668:
2667:. December 2019
2659:
2658:
2654:
2644:
2642:
2633:
2632:
2628:
2618:
2616:
2613:ebpf.foundation
2607:
2606:
2602:
2592:
2590:
2587:ebpf.foundation
2581:
2580:
2576:
2566:
2564:
2555:
2554:
2550:
2540:
2538:
2530:
2529:
2522:
2512:
2510:
2501:
2500:
2496:
2489:
2473:
2472:
2468:
2459:
2457:
2449:
2448:
2444:
2435:
2433:
2425:
2424:
2417:
2408:
2406:
2398:
2397:
2388:
2373:
2358:
2357:
2344:
2335:
2333:
2325:
2324:
2320:
2310:
2308:
2299:
2298:
2294:
2284:
2282:
2279:lore.kernel.org
2273:
2272:
2268:
2258:
2256:
2255:. December 2019
2247:
2246:
2242:
2232:
2230:
2229:. November 2018
2221:
2220:
2216:
2206:
2204:
2203:. November 2018
2201:vger.kernel.org
2196:
2192:
2191:
2187:
2177:
2175:
2166:
2165:
2161:
2151:
2149:
2140:
2139:
2135:
2125:
2123:
2122:. February 2018
2114:
2113:
2109:
2099:
2097:
2088:
2087:
2083:
2073:
2071:
2068:lore.kernel.org
2062:
2061:
2057:
2047:
2045:
2042:lore.kernel.org
2036:
2035:
2031:
2021:
2019:
2018:. November 2017
2016:lore.kernel.org
2010:
2009:
2005:
1995:
1993:
1992:. November 2018
1984:
1983:
1976:
1966:
1964:
1963:. November 2016
1961:lore.kernel.org
1955:
1954:
1950:
1940:
1938:
1929:
1928:
1921:
1911:
1909:
1900:
1899:
1895:
1880:
1856:
1855:
1851:
1841:
1839:
1830:
1829:
1825:
1815:
1813:
1810:lore.kernel.org
1804:
1803:
1799:
1789:
1787:
1778:
1777:
1773:
1763:
1761:
1752:
1751:
1747:
1737:
1735:
1726:
1725:
1718:
1708:
1706:
1703:lore.kernel.org
1697:
1696:
1692:
1682:
1680:
1677:lore.kernel.org
1671:
1670:
1666:
1656:
1654:
1651:lore.kernel.org
1645:
1644:
1640:
1630:
1628:
1625:lore.kernel.org
1619:
1618:
1614:
1604:
1602:
1589:
1588:
1584:
1574:
1572:
1569:lore.kernel.org
1563:
1562:
1558:
1548:
1546:
1537:
1536:
1532:
1522:
1520:
1517:lore.kernel.org
1511:
1510:
1506:
1496:
1494:
1485:
1484:
1480:
1470:
1468:
1459:
1458:
1454:
1444:
1442:
1430:
1429:
1425:
1409:
1404:
1403:
1399:
1389:
1387:
1379:
1375:
1374:
1370:
1360:
1358:
1349:
1348:
1344:
1334:
1332:
1323:
1322:
1318:
1308:
1306:
1298:
1297:
1293:
1283:
1281:
1273:
1272:
1265:
1255:
1253:
1241:
1240:
1231:
1221:
1219:
1207:
1206:
1202:
1192:
1190:
1183:"BPF Internals"
1181:
1180:
1167:
1157:
1155:
1144:
1143:
1134:
1130:
1118:
1110:microprocessors
1098:
908:
872:
841:
795:data structures
791:
772:root privileges
741:
724:
697:
685:program counter
666:virtual machine
662:
647:that reside in
641:
636:
560:2.0 for Linux.
431:3.7.0 release.
388:David S. Miller
336:
272:
266:safety checks.
211:
199:
135:
133:
106:
91:
89:
86:
82:Initial release
52:Daniel Borkmann
51:
28:
23:
22:
15:
12:
11:
5:
3995:
3993:
3985:
3984:
3979:
3974:
3969:
3959:
3958:
3955:
3954:
3949:
3944:
3937:
3936:External links
3934:
3933:
3932:
3927:978-1098135126
3926:
3916:(April 2023).
3910:
3905:978-1492097259
3904:
3894:(April 2022).
3888:
3883:978-0136820154
3882:
3870:Gregg, Brendan
3866:
3861:978-1492050209
3860:
3847:
3842:978-0136554820
3841:
3829:Gregg, Brendan
3823:
3820:
3818:
3817:
3792:
3767:
3741:
3719:
3697:
3671:
3645:
3619:
3593:
3567:
3556:. October 2021
3541:
3520:
3498:
3472:
3450:
3424:
3398:
3372:
3346:
3321:
3299:
3273:
3247:
3221:
3192:
3166:
3140:
3116:
3094:
3068:
3042:
3016:
2990:
2979:. October 2018
2964:
2938:
2912:
2886:
2860:
2834:
2823:. October 2019
2808:
2782:
2756:
2730:
2704:
2678:
2652:
2626:
2600:
2574:
2548:
2520:
2509:. October 2020
2494:
2488:978-0136554820
2487:
2466:
2442:
2415:
2404:docs.cilium.io
2386:
2371:
2342:
2318:
2292:
2266:
2240:
2214:
2185:
2174:. October 2018
2159:
2133:
2107:
2081:
2070:. January 2018
2055:
2029:
2003:
1974:
1948:
1919:
1906:slideshare.net
1893:
1878:
1849:
1823:
1797:
1771:
1745:
1734:. January 2016
1716:
1705:. January 2016
1690:
1664:
1638:
1612:
1582:
1556:
1530:
1504:
1478:
1452:
1441:. 5 March 2016
1423:
1397:
1368:
1342:
1316:
1291:
1263:
1229:
1200:
1165:
1131:
1129:
1126:
1125:
1124:
1117:
1114:
1097:
1094:
1093:
1092:
1086:
1080:
1074:
1068:
1062:
1056:
1050:
1044:
1038:
1032:
1026:
1020:
1014:
1008:
1002:
996:
990:
984:
979:uses eBPF for
974:
968:
962:
959:Samsung Galaxy
956:
950:
944:
934:
928:
918:
907:
904:
871:
868:
853:pseudo-acronym
840:
837:
790:
787:
765:, so any held
751:infinite loops
740:
737:
723:
720:
696:
693:
661:
658:
640:
637:
635:
632:
629:
628:
625:
621:
620:
613:
612:September 2020
609:
608:
598:
594:
593:
590:
586:
585:
578:
574:
573:
566:
562:
561:
550:
546:
545:
541:
537:
536:
529:
525:
524:
521:
520:September 2017
517:
516:
513:
509:
508:
498:
494:
493:
487:
483:
482:
464:
460:
459:
448:
444:
443:
437:
436:September 2015
433:
432:
421:
417:
416:
400:
396:
395:
385:
381:
380:
369:
365:
364:
357:
353:
352:
349:
335:
332:
320:Linus Torvalds
294:points in the
271:
268:
252:kernel modules
217:
216:
209:
205:
204:
193:
187:
186:
184:Runtime system
181:
175:
174:
165:
159:
158:
153:
149:
148:
103:
97:
96:
83:
79:
78:
60:
54:
53:
48:
42:
41:
26:
24:
14:
13:
10:
9:
6:
4:
3:
2:
3994:
3983:
3980:
3978:
3975:
3973:
3970:
3968:
3965:
3964:
3962:
3953:
3950:
3948:
3945:
3943:
3940:
3939:
3935:
3929:
3923:
3919:
3915:
3911:
3907:
3901:
3897:
3896:What Is eBPF?
3893:
3889:
3885:
3879:
3875:
3871:
3867:
3863:
3857:
3853:
3848:
3844:
3838:
3834:
3830:
3826:
3825:
3821:
3806:
3802:
3796:
3793:
3781:
3777:
3771:
3768:
3755:
3751:
3745:
3742:
3731:
3730:
3723:
3720:
3709:
3708:
3701:
3698:
3685:
3681:
3675:
3672:
3660:. August 2022
3659:
3655:
3649:
3646:
3634:. August 2021
3633:
3629:
3623:
3620:
3608:. August 2021
3607:
3603:
3597:
3594:
3582:. August 2021
3581:
3577:
3571:
3568:
3555:
3551:
3545:
3542:
3532:
3531:
3524:
3521:
3510:
3509:
3502:
3499:
3486:
3482:
3476:
3473:
3462:
3461:
3454:
3451:
3438:
3434:
3428:
3425:
3412:
3408:
3402:
3399:
3386:
3382:
3376:
3373:
3360:
3356:
3350:
3347:
3336:
3332:
3325:
3322:
3311:
3310:
3303:
3300:
3287:
3283:
3277:
3274:
3261:
3257:
3251:
3248:
3235:
3231:
3225:
3222:
3209:
3202:
3196:
3193:
3180:
3176:
3170:
3167:
3154:
3150:
3144:
3141:
3130:
3126:
3120:
3117:
3106:
3105:
3098:
3095:
3082:
3078:
3072:
3069:
3056:
3052:
3046:
3043:
3031:. August 2022
3030:
3026:
3020:
3017:
3005:. August 2022
3004:
3000:
2994:
2991:
2978:
2974:
2968:
2965:
2952:
2948:
2942:
2939:
2926:
2922:
2916:
2913:
2900:
2896:
2890:
2887:
2874:
2870:
2864:
2861:
2848:
2844:
2838:
2835:
2822:
2818:
2812:
2809:
2796:
2792:
2786:
2783:
2770:
2766:
2760:
2757:
2744:
2740:
2734:
2731:
2718:
2714:
2708:
2705:
2692:
2688:
2682:
2679:
2666:
2662:
2656:
2653:
2640:
2636:
2630:
2627:
2615:. August 2022
2614:
2610:
2604:
2601:
2588:
2584:
2578:
2575:
2562:
2558:
2552:
2549:
2537:
2533:
2527:
2525:
2521:
2508:
2504:
2498:
2495:
2490:
2484:
2480:
2476:
2475:Brendan Gregg
2470:
2467:
2456:
2452:
2446:
2443:
2432:
2428:
2422:
2420:
2416:
2405:
2401:
2395:
2393:
2391:
2387:
2382:
2378:
2374:
2368:
2364:
2363:
2355:
2353:
2351:
2349:
2347:
2343:
2332:
2328:
2322:
2319:
2306:
2302:
2296:
2293:
2280:
2276:
2270:
2267:
2254:
2250:
2244:
2241:
2228:
2224:
2218:
2215:
2202:
2195:
2189:
2186:
2173:
2169:
2163:
2160:
2147:
2143:
2137:
2134:
2121:
2117:
2111:
2108:
2096:. August 2022
2095:
2091:
2085:
2082:
2069:
2065:
2059:
2056:
2043:
2039:
2033:
2030:
2017:
2013:
2007:
2004:
1991:
1987:
1981:
1979:
1975:
1962:
1958:
1952:
1949:
1936:
1932:
1926:
1924:
1920:
1908:. August 2016
1907:
1903:
1897:
1894:
1889:
1885:
1881:
1879:9781450360807
1875:
1870:
1865:
1861:
1853:
1850:
1837:
1833:
1827:
1824:
1811:
1807:
1801:
1798:
1785:
1781:
1775:
1772:
1760:. August 2015
1759:
1755:
1749:
1746:
1733:
1729:
1723:
1721:
1717:
1704:
1700:
1694:
1691:
1678:
1674:
1668:
1665:
1652:
1648:
1642:
1639:
1626:
1622:
1616:
1613:
1600:
1596:
1594:
1586:
1583:
1570:
1566:
1565:"BPF updates"
1560:
1557:
1544:
1540:
1534:
1531:
1518:
1514:
1508:
1505:
1492:
1488:
1482:
1479:
1466:
1462:
1456:
1453:
1440:
1438:
1437:Brendan Gregg
1433:
1427:
1424:
1419:
1415:
1408:
1401:
1398:
1385:
1378:
1372:
1369:
1356:
1352:
1346:
1343:
1330:
1326:
1320:
1317:
1305:
1301:
1295:
1292:
1280:
1276:
1270:
1268:
1264:
1252:. 10 May 2021
1251:
1249:
1244:
1238:
1236:
1234:
1230:
1217:
1215:
1210:
1204:
1201:
1189:. 1 June 2021
1188:
1184:
1178:
1176:
1174:
1172:
1170:
1166:
1153:
1152:
1147:
1141:
1139:
1137:
1133:
1127:
1123:
1120:
1119:
1115:
1113:
1111:
1107:
1103:
1095:
1090:
1087:
1084:
1081:
1078:
1075:
1072:
1069:
1066:
1063:
1060:
1057:
1054:
1051:
1048:
1045:
1042:
1039:
1036:
1033:
1030:
1027:
1024:
1021:
1018:
1015:
1012:
1009:
1006:
1003:
1000:
997:
994:
991:
988:
985:
982:
978:
975:
972:
969:
966:
963:
960:
957:
954:
951:
948:
945:
942:
941:observability
938:
935:
932:
929:
926:
923:uses eBPF in
922:
919:
916:
913:
912:
911:
905:
903:
901:
897:
893:
889:
885:
882:, Isovalent,
881:
877:
869:
867:
865:
861:
856:
854:
850:
846:
838:
836:
834:
830:
826:
823:
818:
814:
809:
805:
801:
796:
788:
786:
784:
780:
775:
773:
768:
764:
760:
756:
752:
747:
739:eBPF verifier
738:
736:
733:
729:
721:
719:
717:
713:
709:
705:
701:
694:
692:
690:
686:
681:
679:
675:
671:
667:
659:
657:
653:
650:
646:
638:
633:
626:
623:
622:
618:
614:
611:
610:
606:
602:
599:
596:
595:
591:
589:December 2019
588:
587:
583:
579:
577:November 2018
576:
575:
571:
567:
565:November 2018
564:
563:
559:
555:
554:Brendan Gregg
551:
548:
547:
542:
540:February 2018
539:
538:
534:
530:
527:
526:
522:
519:
518:
514:
512:November 2017
511:
510:
506:
502:
499:
496:
495:
491:
488:
486:November 2016
485:
484:
480:
476:
472:
468:
465:
462:
461:
457:
453:
449:
446:
445:
441:
440:Brendan Gregg
438:
435:
434:
430:
426:
422:
419:
418:
414:
409:
405:
401:
398:
397:
393:
389:
386:
383:
382:
378:
374:
370:
367:
366:
362:
358:
355:
354:
350:
347:
346:
340:
333:
331:
329:
325:
321:
317:
316:Brendan Gregg
313:
309:
305:
301:
297:
293:
289:
285:
281:
278:or in-kernel
277:
269:
267:
264:
259:
257:
253:
249:
245:
240:
238:
234:
231:
227:
223:
214:
210:
206:
203:
198:
194:
192:
188:
185:
182:
180:
176:
173:
169:
166:
164:
160:
157:
154:
150:
146:
131:
104:
102:
98:
84:
80:
77:
73:
70:, Isovalent,
69:
65:
61:
59:
55:
49:
47:
43:
39:
34:
19:
3917:
3895:
3873:
3851:
3832:
3808:. Retrieved
3804:
3795:
3783:. Retrieved
3779:
3770:
3758:. Retrieved
3753:
3744:
3734:, retrieved
3728:
3722:
3712:, retrieved
3706:
3700:
3688:. Retrieved
3683:
3674:
3662:. Retrieved
3657:
3648:
3636:. Retrieved
3631:
3622:
3610:. Retrieved
3605:
3596:
3584:. Retrieved
3579:
3570:
3558:. Retrieved
3553:
3544:
3534:, retrieved
3529:
3523:
3513:, retrieved
3507:
3501:
3489:. Retrieved
3484:
3475:
3465:, retrieved
3459:
3453:
3441:. Retrieved
3436:
3427:
3415:. Retrieved
3410:
3401:
3389:. Retrieved
3384:
3375:
3363:. Retrieved
3358:
3349:
3338:. Retrieved
3334:
3324:
3314:, retrieved
3308:
3302:
3290:. Retrieved
3285:
3276:
3264:. Retrieved
3259:
3250:
3238:. Retrieved
3233:
3224:
3212:. Retrieved
3207:
3195:
3183:. Retrieved
3178:
3169:
3157:. Retrieved
3152:
3143:
3132:. Retrieved
3128:
3119:
3109:, retrieved
3103:
3097:
3085:. Retrieved
3080:
3071:
3059:. Retrieved
3057:. April 2022
3054:
3045:
3033:. Retrieved
3028:
3019:
3007:. Retrieved
3002:
2993:
2981:. Retrieved
2977:dropbox.tech
2976:
2967:
2955:. Retrieved
2950:
2941:
2929:. Retrieved
2924:
2915:
2903:. Retrieved
2898:
2889:
2877:. Retrieved
2872:
2863:
2851:. Retrieved
2846:
2837:
2825:. Retrieved
2820:
2811:
2799:. Retrieved
2794:
2785:
2773:. Retrieved
2768:
2759:
2747:. Retrieved
2742:
2733:
2721:. Retrieved
2716:
2707:
2695:. Retrieved
2690:
2681:
2669:. Retrieved
2664:
2655:
2643:. Retrieved
2638:
2629:
2617:. Retrieved
2612:
2603:
2591:. Retrieved
2586:
2577:
2565:. Retrieved
2560:
2551:
2539:. Retrieved
2535:
2511:. Retrieved
2506:
2497:
2478:
2469:
2458:. Retrieved
2454:
2445:
2434:. Retrieved
2430:
2407:. Retrieved
2403:
2361:
2334:. Retrieved
2330:
2321:
2309:. Retrieved
2304:
2301:"BPF in GCC"
2295:
2283:. Retrieved
2281:. March 2020
2278:
2269:
2257:. Retrieved
2252:
2243:
2231:. Retrieved
2227:nakryiko.com
2226:
2217:
2205:. Retrieved
2200:
2188:
2176:. Retrieved
2171:
2162:
2150:. Retrieved
2148:. April 2018
2145:
2136:
2124:. Retrieved
2119:
2110:
2098:. Retrieved
2094:doc.dpdk.org
2093:
2084:
2072:. Retrieved
2067:
2058:
2046:. Retrieved
2041:
2032:
2020:. Retrieved
2015:
2006:
1994:. Retrieved
1989:
1965:. Retrieved
1960:
1951:
1939:. Retrieved
1934:
1910:. Retrieved
1905:
1896:
1859:
1852:
1840:. Retrieved
1835:
1826:
1814:. Retrieved
1809:
1800:
1788:. Retrieved
1783:
1774:
1762:. Retrieved
1757:
1748:
1736:. Retrieved
1731:
1707:. Retrieved
1702:
1693:
1681:. Retrieved
1679:. March 2015
1676:
1667:
1655:. Retrieved
1653:. March 2015
1650:
1641:
1629:. Retrieved
1624:
1615:
1605:September 6,
1603:. Retrieved
1598:
1592:
1585:
1573:. Retrieved
1571:. March 2014
1568:
1559:
1547:. Retrieved
1542:
1533:
1521:. Retrieved
1519:. April 2011
1516:
1507:
1495:. Retrieved
1493:. March 2014
1490:
1481:
1469:. Retrieved
1464:
1455:
1443:. Retrieved
1435:
1426:
1400:
1388:. Retrieved
1383:
1371:
1359:. Retrieved
1354:
1345:
1333:. Retrieved
1328:
1319:
1307:. Retrieved
1303:
1294:
1282:. Retrieved
1278:
1254:. Retrieved
1246:
1220:. Retrieved
1212:
1203:
1191:. Retrieved
1186:
1156:. Retrieved
1149:
1099:
1023:DigitalOcean
909:
873:
857:
842:
792:
776:
753:or infinite
742:
725:
698:
682:
663:
654:
649:kernel space
642:
549:October 2018
528:January 2018
505:facebook.com
377:system calls
368:January 2012
337:
284:event-driven
273:
260:
241:
228:such as the
221:
220:
58:Developer(s)
3684:youtube.com
3658:youtube.com
3632:youtube.com
3606:youtube.com
3580:youtube.com
3554:youtube.com
3485:youtube.com
3439:. July 2022
3234:youtube.com
3087:19 February
2927:. June 2021
2875:. June 2022
2771:. July 2020
2743:youtube.com
2717:youtube.com
2665:youtube.com
2589:. June 2021
1838:. June 2021
1836:youtube.com
1812:. July 2016
1035:Bell Canada
900:Crowdstrike
825:object file
746:depth-first
712:stack frame
463:August 2016
420:August 2015
392:interpreter
373:seccomp-bpf
276:interpreted
250:or loading
248:source code
202:MIT License
3961:Categories
3805:kernel.org
3736:2024-02-09
3714:2024-02-09
3686:. May 2022
3536:2024-02-26
3515:2024-02-09
3467:2024-02-04
3361:. May 2021
3340:2024-02-09
3316:2024-02-09
3134:2024-02-03
3111:2024-02-03
2797:. May 2019
2691:lpc.events
2641:. May 2018
2563:. May 2015
2460:2024-08-07
2436:2024-08-04
2409:2024-08-01
2381:1353981026
2336:2024-08-01
1990:lpc.events
1937:. May 2021
1128:References
1041:Elastic_NV
1029:CapitalOne
981:Kubernetes
965:Yahoo! Inc
931:Cloudflare
870:Governance
755:recursion)
700:Tail calls
695:Tail calls
597:March 2020
479:Kubernetes
399:March 2015
384:March 2014
356:April 2011
300:networking
152:Written in
141:/Microsoft
101:Repository
18:Draft:EBPF
3914:Rice, Liz
3892:Rice, Liz
3810:16 August
3785:16 August
3760:16 August
3690:16 August
3664:16 August
3638:16 August
3612:16 August
3586:16 August
3560:16 August
3491:16 August
3443:16 August
3437:cilium.io
3417:16 August
3391:16 August
3365:16 August
3292:16 August
3266:16 August
3260:cilium.io
3240:16 August
3214:16 August
3208:sstic.org
3185:16 August
3159:16 August
3061:16 August
3035:16 August
3009:16 August
2983:16 August
2957:16 August
2931:16 August
2905:16 August
2879:16 August
2853:16 August
2827:16 August
2801:16 August
2775:16 August
2749:16 August
2723:16 August
2697:16 August
2671:16 August
2645:16 August
2619:16 August
2593:16 August
2507:cilium.io
2311:16 August
2285:16 August
2259:16 August
2178:16 August
2146:cilium.io
2100:16 August
1996:16 August
1941:16 August
1732:cilium.io
1497:6 January
1390:5 October
1304:QCon 2020
1248:Microsoft
1011:Microsoft
884:Microsoft
804:versions.
783:callbacks
767:spinlocks
689:registers
664:The eBPF
639:eBPF maps
624:July 2022
490:Netronome
447:July 2016
423:The eBPF
406:as first
263:sandboxed
200:Windows:
134:Windows:
124:/torvalds
72:Microsoft
1888:53779310
1116:See also
1104:such as
1096:Security
1005:DoorDash
993:Trip.com
971:LinkedIn
906:Adoption
839:Branding
813:compiler
808:metadata
763:deadlock
728:function
716:downtime
708:execve()
670:bytecode
497:May 2017
471:LinuxCon
425:compiler
312:security
302:such as
2536:ebpf.io
2305:lwn.net
2120:lwn.net
1439:'s Blog
1279:eBPF.io
1106:Spectre
1083:Red Hat
1059:Walmart
999:Shopify
987:Datadog
977:Alibaba
953:Android
947:Dropbox
937:Netflix
892:Red Hat
888:Netflix
408:tracing
404:kprobes
334:History
328:Windows
324:runtime
308:tracing
244:runtime
213:ebpf.io
208:Website
195:Linux:
191:License
172:Windows
120:/kernel
110:.kernel
105:Linux:
90: (
76:Netflix
3924:
3902:
3880:
3858:
3839:
2639:fb.com
2567:1 July
2541:1 July
2513:1 July
2485:
2379:
2369:
2233:1 July
2207:1 July
2152:1 July
2126:1 July
2074:1 July
2048:1 July
2022:1 July
1967:1 July
1912:1 July
1886:
1876:
1842:1 July
1816:1 July
1790:1 July
1764:1 July
1738:1 July
1709:1 July
1683:1 July
1657:1 July
1631:1 July
1575:1 July
1549:1 July
1523:1 July
1471:1 July
1445:1 July
1361:1 July
1335:1 July
1309:1 July
1284:1 July
1256:1 July
1222:1 July
1193:1 July
1158:1 July
1065:Huawei
1017:Seznam
921:Google
896:Huawei
880:Google
864:mascot
833:kernel
817:libbpf
759:packet
601:Google
558:DTrace
467:Cilium
413:Cilium
351:Event
270:Design
233:kernel
137:github
126:/linux
118:/linux
68:Google
3204:(PDF)
2197:(PDF)
1884:S2CID
1410:(PDF)
1380:(PDF)
1047:Apple
829:Clang
582:DWARF
168:Linux
3922:ISBN
3900:ISBN
3878:ISBN
3856:ISBN
3837:ISBN
3812:2022
3787:2022
3762:2022
3692:2022
3666:2022
3640:2022
3614:2022
3588:2022
3562:2022
3493:2022
3445:2022
3419:2022
3393:2022
3367:2022
3294:2022
3268:2022
3242:2022
3216:2022
3187:2022
3161:2022
3089:2022
3063:2022
3037:2022
3011:2022
2985:2022
2959:2022
2933:2022
2907:2022
2881:2022
2855:2022
2829:2022
2803:2022
2777:2022
2751:2022
2725:2022
2699:2022
2673:2022
2647:2022
2621:2022
2595:2022
2569:2022
2543:2022
2515:2022
2483:ISBN
2377:OCLC
2367:ISBN
2313:2022
2287:2022
2261:2022
2235:2022
2209:2022
2180:2022
2154:2022
2128:2022
2102:2022
2076:2022
2050:2022
2024:2022
1998:2022
1969:2022
1943:2022
1914:2022
1874:ISBN
1844:2022
1818:2022
1792:2022
1766:2022
1740:2022
1711:2022
1685:2022
1659:2022
1633:2022
1607:2019
1577:2022
1551:2022
1525:2022
1499:2023
1473:2022
1447:2022
1392:2023
1363:2022
1337:2022
1311:2022
1286:2022
1258:2022
1224:2022
1214:CNCF
1195:2022
1160:2022
1071:Ikea
915:Meta
886:and
876:Meta
858:The
845:LLVM
802:and
570:kTLS
533:DPDK
501:Meta
475:IPv6
456:DPDK
429:LLVM
348:Date
310:and
292:hook
222:eBPF
179:Type
139:.com
128:.git
122:/git
116:/scm
114:/pub
112:.org
92:2014
85:2014
64:Meta
31:eBPF
1864:doi
1593:sic
1543:LWN
1491:LWN
1414:doi
1053:Sky
925:GKE
860:bee
556:as
304:XDP
197:GPL
108:git
3963::
3898:.
3876:.
3803:.
3778:.
3752:.
3682:.
3656:.
3630:.
3604:.
3578:.
3552:.
3483:.
3435:.
3409:.
3383:.
3357:.
3333:.
3284:.
3258:.
3232:.
3206:.
3177:.
3151:.
3127:.
3079:.
3053:.
3027:.
3001:.
2975:.
2949:.
2923:.
2897:.
2871:.
2845:.
2819:.
2793:.
2767:.
2741:.
2715:.
2689:.
2663:.
2637:.
2611:.
2585:.
2559:.
2534:.
2523:^
2505:.
2453:.
2429:.
2418:^
2402:.
2389:^
2375:.
2345:^
2329:.
2303:.
2277:.
2251:.
2225:.
2199:.
2170:.
2144:.
2118:.
2092:.
2066:.
2040:.
2014:.
1988:.
1977:^
1959:.
1933:.
1922:^
1904:.
1882:.
1872:.
1834:.
1808:.
1782:.
1756:.
1730:.
1719:^
1701:.
1675:.
1649:.
1623:.
1597:.
1567:.
1541:.
1515:.
1489:.
1463:.
1434:.
1412:.
1382:.
1353:.
1327:.
1302:.
1277:.
1266:^
1245:.
1232:^
1211:.
1185:.
1168:^
1148:.
1135:^
898:,
894:,
878:,
855:.
835:.
785:.
584:.
415:.
330:.
306:,
170:,
74:,
66:,
3930:.
3908:.
3886:.
3864:.
3845:.
3814:.
3789:.
3764:.
3694:.
3668:.
3642:.
3616:.
3590:.
3564:.
3495:.
3447:.
3421:.
3395:.
3369:.
3343:.
3296:.
3270:.
3244:.
3218:.
3189:.
3163:.
3137:.
3091:.
3065:.
3039:.
3013:.
2987:.
2961:.
2935:.
2909:.
2883:.
2857:.
2831:.
2805:.
2779:.
2753:.
2727:.
2701:.
2675:.
2649:.
2623:.
2597:.
2571:.
2545:.
2517:.
2491:.
2463:.
2439:.
2412:.
2383:.
2339:.
2315:.
2289:.
2263:.
2237:.
2211:.
2182:.
2156:.
2130:.
2104:.
2078:.
2052:.
2026:.
2000:.
1971:.
1945:.
1916:.
1890:.
1866::
1846:.
1820:.
1794:.
1768:.
1742:.
1713:.
1687:.
1661:.
1635:.
1609:.
1579:.
1553:.
1527:.
1501:.
1475:.
1449:.
1420:.
1416::
1394:.
1365:.
1339:.
1313:.
1288:.
1260:.
1226:.
1197:.
1162:.
156:C
145:/
130:/
94:)
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.