开始之前说点题外话,距离上一篇FlannelCNI的发布已经快一个月了。这篇本想趁着势头在去年底完成的,正好在一个月内完成计划的所有内容。但上篇发布后不久,我中招了花了一个多周的时间才恢复。然而,恢复后的状态让我有点懵,总感觉很难集中精力,很容易精神涣散。可能接近网上流传的“脑雾”吧,而且Ciliu
很多场景下,BPF程序都需要将数据发送到用户空间(userspace),BPFperfbuffer(perfbuf)是目前这一过程的事实标准,但它存在一些问题,例如浪费内存(因为其per-CPU设计)、事件顺序无法保证等。作为改进,内核5.8引入另一个新的BPF数据结构:BPFringbuffer(