抽丝剥茧:从 Linux 源码探索 eBPF 的实现
Source :
mp.weixin.qq.com
Author :
张晓辉Addo
去年学习 eBPF,分享过 几篇 eBPF 方面的学习笔记[1],都是面向 eBPF 的应用。为了准备下一篇文章,这次决定从 Linux 源码入手,深入了解 eBPF 的工作原理。因此这篇又是一篇学习笔记,假如你对 eBPF 的工作原理也感兴趣,不如跟随我的脚步一起。文章中若有任何问题,请不吝赐教。 这里不会再对 eBPF 进行过多的介绍,可以参考我的另一篇 使用 eBPF 技术实现更快的网络数据包传输[2],结合 追踪 Kubernetes 中的数据包[3] 可以了解 eBPF 的基本内容以及其在网络加速方面的应用。 接下来我们还是使用 eBPF sockops[4] 中的程序 bpf_sockops[5] 为例, 配合 Linux v6.8[6] 源码探索 eBPF 的工作原理。