eBPF Talk: tailcall 问题知多少

tailcall 是 v4.2 内核便已引入的一个特性,它允许一个 BPF 程序调用另一个程序,而无需返回原程序。 bpf: allow bpf programs to tail-call other bpf programs 然而,在 BPF 子系统不断地引入新特性的同时,t

eBPF Talk: 谁动了我的 bpf map?

使用 bpf 跟踪 bpf map 的更新、删除函数,以此确认是谁动了 bpf map。 TL;DR 已实现对 bpf map 的更新、删除函数的跟踪,未实现批量操作 bpf map 函数的跟踪;源代码:git

eBPF Talk: guard spinlock

守护 spinlock。 eBPF Talk: spinlock 详解 当使用 spinlock 进行统计时 eBPF Talk: 正确地进行统计,必须要使用 bpf_spin_lock() 和 bpf_spin_unlock() 来保护 spinlock 变量: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 struct xdp_stat_item {

eBPF Talk: 改进 XDP 解析 TCP options

在 eBPF Talk: XDP 解析所有 TCP options 里,已经做到了使用 XDP 解析所有 TCP options 的功能。 不过,其中使用了 percpu map 在 XDP 和 freplace 之间传递 offset;那么,是否有办法将该 percpu map 优化掉