eBPF Talk: CPU and NUMA

在现代的服务器中,基本上 CPU 采用的都是多核 NUMA 架构。对于网络而言,一个网络包从物理网卡驱动出来之后,并到达对应的应用层 socket,最好都在同一

eBPF Talk: 宏的两种写法

宏是 C 语言中最强大的语言特性,能够用来简化 eBPF 的 C 代码;毕竟 eBPF 的 C 代码是一种语法、语义都受限的 C 代码,不能像普通 C 代码那样“肆意妄为”。 写法一

eBPF Talk: 变量声明的位置

据了解(未查证),从 clang12 开始,eBPF 代码中的变量声明不再要求写在函数体的最前方,而是可以按需声明并初始化。 写法一:一次性声明全部的变量 1 2 3

为 eBPF 程序注入黑魔法 【错误姿势】

在 Kubernetes 集群环境下,如果跨节点的 Pod 需要组成多个 VPC 网络,使用 eBPF 的时候,该如何在 CNI 层面动态地为每个 Pod 分配 VXLAN VNI 或者 VLAN ID 呢? 一个简单可行的办法是,每次 CNI