Paul Chaignon
@pchaigno.bsky.social
๐ค 169
๐ฅ 32
๐ 63
System security, eBPF, and programmable networks. Working on Cilium's BPF-based datapath. He/him.
pinned post!
It does not make sense to compare the performance of nftables and eBPF. eBPF can take many different forms. Its performance will largely depend on its hook point, its maps, the algorithm its implementing. That's the point I tried to illustrate in
pchaigno.github.io/ebpf/2020/09...
.
loading . . .
BPF Isnโt About Speed
This post benchmarks various approaches to filter egress traffic in the Linux kernel. It compares iptables, ipset, tc-bpf, and cgroup-bpf. It demonstrates how diverse aspects of the eBPF implementatio...
https://pchaigno.github.io/ebpf/2020/09/29/bpf-isnt-about-speed.html
11 months ago
1
4
3
Following our talk at Plumbers, we're starting a series of articles with Mahรฉ Tardy on the state pruning optimization in the
#eBPF
verifier. I'm kicking off this series with a timeline of the main changes:
pchaigno.github.io/ebpf/2026/01...
.
17 days ago
1
1
1
My colleague Mahรฉ Tardy wrote a blog post covering state pruning points in the
#eBPF
verifier:
mtardy.com/posts/prune-...
. State pruning is an optimization to the eBPF verifier to help it scale to larger programs. Pruning points are instructions in the program where this optimization is triggered.
17 days ago
0
3
0
In his latest blog,
@vincent.bernat.ch
looked at how to load balance uneven traffic flows across multiple workers all listening on the same port:
vincent.bernat.ch/en/blog/2026...
. And of course, eBPF can help here! As usual, very easy to follow along and with code walkthroughs.
loading . . .
Using eBPF to load-balance traffic across UDP sockets with Go
Learn how to implement eBPF-based load balancing for UDP sockets in Go. The article also covers graceful restarts.
https://vincent.bernat.ch/en/blog/2026-reuseport-ebpf-go
18 days ago
0
1
1
There's a new eBPF sandbox by David Ventura to learn BPF development with exercises and detailed explanations:
ebpf.party
. Looks great for a first quick introduction!
23 days ago
0
3
3
I updated my blog post on the
@sigcomm.bsky.social
#eBPF
workshop with slides for most presentations over the past three years!
pchaigno.github.io/ebpf/2025/09...
This was possible thanks to Sebastiano Miano who kept archives from the workshops over the years ๐
23 days ago
0
3
0
Syzkaller has been fuzzing Linux patchsets since August! It already caught more than 100 bugs before they were merged. At
#LinuxPlumbers
, Aleksandr Nogikh explained why your patchset may not be covered. Website:
ci.syzbot.org
Slides:
lpc.events/event/19/con...
Video:
www.youtube.com/watch?v=69Pj...
about 2 months ago
0
0
0
After accelerating pod networking with netkit devices,
@cilium.io
will tackle the challenge of KubeVirt pods. At
#LinuxPlumbers
, Daniel Borkmann et al. explained what it will look like and the required changes. Recording:
www.youtube.com/watch?v=_Qy4...
Slides:
lpc.events/event/19/con...
about 2 months ago
1
2
2
Peilin Ye gave an easy-to-follow introduction to the new BPF_ATOMIC instructions for Load-Acquire and Store-Release in eBPF. Only at
#LinuxPlumbers
! ;) Recording:
www.youtube.com/watch?v=iF7J...
Slides:
lpc.events/event/19/con...
about 2 months ago
0
1
0
Justin Ngai presented a BPF regex engine to be able to match file paths and command lines in the kernel. He explained how it works, its limitations, and some of the challenges involved.
#LinuxPlumbers
Recording:
youtu.be/n0xMU3XkXYM
Slides:
lpc.events/event/19/con...
about 2 months ago
0
1
1
Related to the previous
#LinuxPlumbers
talk, Raman Shukhau implemented and presented a small DNS server in eBPF! Recording:
www.youtube.com/watch?v=di2R...
Slides:
lpc.events/event/19/con...
about 2 months ago
0
1
1
Cilium can enforce network policies based on FQDNs using a userspace proxy. At
#LinuxPlumbers
,
@hemanthmalla.bsky.social
proposed to move this to the kernel by implementing DNS parsing in
#eBPF
! Recording:
www.youtube.com/watch?v=ecQo...
Demo:
youtu.be/0qmQ1bTBLHo
Slides:
lpc.events/event/19/con...
about 2 months ago
0
3
2
Work on the BPF Verifier Visualizer (bpfvv) is continuing! Ihor Solodrai and Jordan Rome presented the many new features at
#LinuxPlumbers
. Recording:
www.youtube.com/watch?v=-_P1...
Slides:
lpc.events/event/19/con...
about 2 months ago
0
2
0
After a great recap of how uprobes work, Jiri Olsa presented recent optimizations and discussed how uprobes could overwrite userspace functions. As usual with Jiri, the slides are minimalist but effective
#LinuxPlumbers
Recording:
www.youtube.com/watch?v=sydT...
Slides:
lpc.events/event/19/con...
about 2 months ago
0
2
0
At
#LinuxPlumbers
,
@breakawaybilly.bsky.social
presented what the eBPF Foundation is doing, where its funds are going, and asked the attendees what should be next. Recording:
www.youtube.com/live/ZLRngpd...
Slides:
lpc.events/event/19/con...
about 2 months ago
0
7
2
For the past month, with my colleague
@mahe.bsky.social
, we've been looking into the BPF verifier's state pruning. Tomorrow, we're giving an introduction to this verification optimization at Linux Plumbers:
lpc.events/event/19/con...
!
about 2 months ago
0
5
1
The HotNets 2025 program and papers are available! Similar mix of topics as SIGCOMM, with lots of AI, some host networking, some LEO, some eBPF...
conferences.sigcomm.org/hotnets/2025...
loading . . .
HotNets 2025: Program
https://conferences.sigcomm.org/hotnets/2025/program.html
3 months ago
0
2
1
The talks for the Networking track of Linux Plumbers 2025 are up! An XDP API redesign, rich packet metadata, XDP offload to AMD GPUs... There are a few
#eBPF
topics, but also many classic networking talks.
lpc.events/event/19/ses...
loading . . .
Linux Plumbers Conference 2025
The Linux Plumbers Conference (LPC) is a developer conference for the open source community. The LPC brings together the top developers working on the plumbing of Linux - kernel subsys...
https://lpc.events/event/19/sessions/236/
3 months ago
0
4
0
At GNU Tools Cauldron, Eduard Zingerman presented 4 examples of compiler optimizations that can break
#eBPF
verification in Linux. The discussion then focused on how to mitigate this in GCC, with a potential -fverifiable flag. Video:
www.youtube.com/watch?v=DgiE...
Article:
lwn.net/Articles/103...
4 months ago
1
0
0
Agni is now able to formally verify core
#eBPF
verifier logic in ~10 minutes! And all LTS kernels are covered daily!
github.com/bpfverif/agn...
4 months ago
1
4
1
At Kernel Recipes, Roman Gushchin presented his work on customizing the Linux out-of-memory handling with
#eBPF
. It allows you to control when the OOM killer is triggered and how to free memory (typically, what to kill). Code:
lore.kernel.org/bpf/20250818...
Video:
www.youtube.com/watch?v=pgDI...
4 months ago
0
2
1
The list of talks accepted for the
#eBPF
track at Linux Plumbers 2025 has been published:
lpc.events/event/19/ses...
! See you in Tokyo! (You may need to click on Contribution list to see the talks.)
4 months ago
0
2
1
I've added 6 recent research papers on eBPF to my list, from SIGCOMM'25, SOSP'25, and IEEE S&P'25:
pchaigno.github.io/bpf/2025/01/...
.
4 months ago
0
2
0
I've written a guide on how to test BPF verifier changes using Cilium's collection of
#eBPF
programs:
pchaigno.github.io/ebpf/2025/09...
loading . . .
Test Verifier Changes on Ciliumโs BPF Programs
This post describes how to use Ciliumโs large BPF programs to test and evaluate your changes to the Linux BPF verifier or to any other aspect of the kernel.
https://pchaigno.github.io/ebpf/2025/09/23/test-verifier-changes-on-cilium-bpf-programs.html
5 months ago
0
3
0
At the eBPF workshop, Panayiotis Gavriil introduced uXDP, a new XDP runtime that allows you to run unmodified XDP programs on top of DPDK or AF_XDP. uXDP was able to improve the performance of an unmodified Katran by 40%! Slides:
drive.google.com/file/d/1xrGE...
Paper:
dl.acm.org/doi/pdf/10.1...
5 months ago
0
3
0
Traditional profiling tools can introduce a lot of overhead when tracing XDP programs. At the eBPF workshop, Vladimiro Paschali presented a new tool that significantly reduces that overhead. Slides:
drive.google.com/file/d/1qsBS...
Paper:
dl.acm.org/doi/pdf/10.1...
Code:
github.com/VladimiroPas...
5 months ago
0
2
0
reposted by
Paul Chaignon
Bill Mulligan ๐๐๐
5 months ago
For its academic research grants, eBPF Foundation received 27 proposals from 23 universities, ranging from improving verifier safety guarantees to enabling new use cases where eBPF can make a difference. Two proposals will each receive a $50,000 research grant
ebpf.foundation/ebpf-foundat...
0
5
1
At the eBPF workshop, Srinivas Narayana presented a new approach to synthesize part of the
#eBPF
verifier. His team used it to improve the addition and subtraction analysis in Linux. Slides:
drive.google.com/file/d/1BbMr...
Paper:
people.cs.rutgers.edu/~sn624/paper...
Code:
github.com/bpfverif/vayu
5 months ago
0
5
0
The papers and slides from the SIGCOMM'25
#eBPF
workshop are all online now!
pchaigno.github.io/ebpf/2025/09...
Thanks to everyone who participated and presented in this third edition!
5 months ago
0
3
3
At SIGCOMM'25 yesterday, Alibaba Cloud showed how they improved the performance of their L7 LB in part with sk_reuseport
#eBPF
programs. As a result, they improved the efficiency of their L7 LB by almost 20%! Video:
www.youtube.com/watch?v=J22-...
Paper:
dl.acm.org/doi/pdf/10.1...
5 months ago
0
1
2
I'm at SIGCOMM'25 until the end of the conference. Ping me if you want to chat about anything eBPF related! I'm interested to see what people are trying to build!
5 months ago
1
1
0
The top networking academic conference, SIGCOMM, is happening next week and the 88 papers are already available!
conferences.sigcomm.org/sigcomm/2025...
5 months ago
1
3
1
The list of papers accepted at the 3rd
#eBPF
workshop has been published!
conferences.sigcomm.org/sigcomm/2025...
6 months ago
0
4
3
๐๐ Deadline Extended ๐๐ The submission deadline for the 2025 eBPF workshop at SIGCOMM has been extended! New deadline: May 23rd. Don't miss out! Submission link:
ebpf25.hotcrp.com
9 months ago
0
4
3
With NSDI'25 coming to an end today, I've updated the list of
#eBPF
papers to include the three papers published at USENIX NSDI this year!
pchaigno.github.io/bpf/2025/01/...
9 months ago
0
2
2
Ihor Solodrai started working on a visualization tool to help read
#eBPF
verifier logs! It shows the current verifier state at any point and tracks data dependencies. Hopefully, it'll make the logs less scary to newcomers! Code:
github.com/libbpf/bpfvv
Example:
libbpf.github.io/bpfvv/?url=h...
10 months ago
0
4
1
๐ข Call for Papers ๐ข The CFP for the 2025 eBPF workshop is out! ๐ Deadline: May 8th ๐ More info:
conferences.sigcomm.org/sigcomm/2025...
Don't miss the chance to share your work with the eBPF ๐community!
11 months ago
0
8
5
I'll give an introduction to
#eBPF
next week at the Rennes DevOps meetup! I'll explain what it is concretely and the many use cases, from tracing to
@cilium.io
and more. I'll also try to address the many misconceptions around eBPF. Don't miss it if you're around and eBPF isn't yet all clear to you!
add a skeleton here at some point
11 months ago
0
9
4
It does not make sense to compare the performance of nftables and eBPF. eBPF can take many different forms. Its performance will largely depend on its hook point, its maps, the algorithm its implementing. That's the point I tried to illustrate in
pchaigno.github.io/ebpf/2020/09...
.
loading . . .
BPF Isnโt About Speed
This post benchmarks various approaches to filter egress traffic in the Linux kernel. It compares iptables, ipset, tc-bpf, and cgroup-bpf. It demonstrates how diverse aspects of the eBPF implementatio...
https://pchaigno.github.io/ebpf/2020/09/29/bpf-isnt-about-speed.html
11 months ago
1
4
3
reposted by
Paul Chaignon
Farbod
12 months ago
Recently, I have been busy exploring eBPF Arena โ a new API that enables eBPF programs to allocate memory pages; similar functionality as mmap and munmap . I've written a blog post about it that I like to share with you:
fshahinfar1.github.io/blog/04_ebpf...
loading . . .
eBPF Arena: A Tutorial
https://fshahinfar1.github.io/blog/04_ebpf_arena/build/blog.html
0
2
5
The report from this summer's Dagstuhl seminar on Programmable Host Networking has been published:
doi.org/10.4230/DagR...
!
#ebpf
#DPDK
#DPU
12 months ago
0
5
2
The Linux XFRM guide gets a new section on how to perform dropless updates of states and policies!
pchaigno.github.io/cilium/2024/...
I received a lot of help from my colleague Louis DeLosSantos to investigate this tricky part of XFRM and we even found a kernel bug in the process!
12 months ago
0
6
2
I've added talk recordings to my list of eBPF papers, when available. That's 33 videos of ~20min discussing various aspects and use cases of
#eBPF
!
pchaigno.github.io/bpf/2025/01/...
12 months ago
0
8
5
The list of papers to be presented at Usenix NSDI 2025 has been published:
www.usenix.org/conference/n...
! I see at least three papers related to
#eBPF
, but as usual there are also lots of papers on network verification, queuing, RDMA, machine learning, cellular networks, etc. ๐
12 months ago
0
2
1
I've updated my evaluation of
#eBPF
instruction set extensions to cover mcpu=v4:
pchaigno.github.io/bpf/2021/10/...
(1/2)
loading . . .
eBPF Instruction Set Extensions
This post details the different versions of the eBPF instruction set. Their impact on program size and eBPF complexity is then evaluated.
https://pchaigno.github.io/bpf/2021/10/20/ebpf-instruction-sets.html
about 1 year ago
1
2
1
I've updated my blog post on the complexity of the
#eBPF
verifier, adding the past 10 Linux releases:
pchaigno.github.io/ebpf/2019/07...
. We can observe a couple trends ๐งต
loading . . .
Complexity of the BPF Verifier
This post discusses the increasing complexity of the Linux eBPF verifier by measuring various metrics from the number of lines of code to the cyclomatic complexity of individual functions. Plots are a...
https://pchaigno.github.io/ebpf/2019/07/02/bpf-verifier-complexity.html
about 1 year ago
1
7
2
I've made an interactive list of
#eBPF
research papers. Only papers from the top academic conferences, including lots of papers on eBPF verification, kernel offloads, security analysis, etc.
pchaigno.github.io/bpf/2025/01/...
I plan to keep the list up-to-date.
loading . . .
eBPF Research Papers
When I started reading on BPF there werenโt many academic papers to describe how it worked, how it didnโt, or how it is used. There are many blog posts and informal articles out there, but itโs harder...
https://pchaigno.github.io/bpf/2025/01/07/research-papers-bpf.html
about 1 year ago
1
18
14
I had missed that Tencent discussed how they use
#eBPF
since 2022 to perform traffic engineering across their WAN at the granularity of containers. Recording:
www.youtube.com/watch?v=bn6D...
Paper:
cs.stanford.edu/~keithw/sigc...
about 1 year ago
0
9
6
The list of papers accepted at EuroSys 2025 has been published! As can be expected, a lot of ML/LLM work, but also several papers on host networking, Linux, and even one on eBPF!
2025.eurosys.org/accepted-pap...
about 1 year ago
0
8
2
#Cilium
has 866 contributors so far, with more joining for each new release! I thought I'd write a small guide for new contributors based on my own contributor and reviewer experience:
pchaigno.github.io/cilium/2024/...
loading . . .
First Cilium Pull Request
Getting started guide on making your first pull request on Cilium.
https://pchaigno.github.io/cilium/2024/12/05/first-cilium-pull-request.html
about 1 year ago
0
4
3
you reached the end!!
feeds!
log in