eBPF Talk: tc-bpf 转发网络包

在 tc-bpf 里转发网络包,跟 XDP 里转发网络包有什么不同呢? eBPF Talk: XDP 转发失败了 eBPF Talk: 揭秘 XDP 转发网络包 eBPF Talk: 揭秘 XDP 转发网络包【续】 呃,其实还是那个奇葩的需求,不

eBPF Talk: eBPF 程序模块化与单测构想

我们来复习一下以下两篇文章: eBPF Talk: freplace on x86【汇编慎入】 eBPF Talk: 给 XDP 程序写 unittest 一个构想:使用 replace 实现 eBPF 程序的模块化,使用 BPF_PROG_TEST_RUN 对 eBPF 程序模块进行单测。 eBPF 程序

eBPF Talk: 给 XDP 程序写 unittest

我们都知道写 unittest 是非常必要的,但是在 eBPF 程序里,该如何给 XDP 程序写 unittest 呢? bpf: introduce BPF_PROG_TEST_RUN command since 4.12 kernel 在 4.12 内核中,引入了 BPF_PROG_TEST_RUN 命令,可以用来给 XDP 和 tc-bpf 等 eBPF 程序写 unit

eBPF Talk: helpers for bpf map

通过学习 eBPF Talk: eBPF helpers 的另一面,我们知道 eBPF helpers 是通过 bpf_func_proto 结构体来实现的,不同的 helpers 函数对应不同的 bpf_func_proto;甚至,对于同一个 helpers 函数,不

eBPF Talk: 3.18 kernel 里的 CFG 检查

为了克服对 bpf verifier 的恐惧,打算从 verifier.c 最初的 commit 开始学习 verifier;这是因为最初版本的 verifier 并不复杂。相对而言,理解起来会容易一些。 bpf: verifier (add branch/goto checks) 在该 commit

eBPF Talk: spinlock 详解

此 spinlock 指的是 eBPF 代码里使用的 struct bpf_spin_lock。 bpf: introduce bpf_spin_lock since kernel 5.1 从 eBPF Talk: 正确地进行统计 里学习到可以使用 spinlock 对统计进行保护。 spinlock 的用法就是那么简单

eBPF Talk: 正确地进行统计

在 bpf prog 里进行统计,该怎么做呢? PERCPU bpf map 在 bpf prog 里使用 PERCPU bpf map 进行统计,在用户态应用程序里就可以读取该 bpf map 获取从而能够计算出最终的统计数据。 使用 PERCPU bpf

eBPF Talk: 不吐不快之 XDP ACL

之前,在学习高性能 XDP ACL 的时候,挺开心的,一下子就掌握了前沿技术。 eBPF Talk: 优化 xdp_acl eBPF Talk: 再论高性能 eBPF ACL demo for 「eBPF 技术实践:高性能 ACL」 不过在项目