eBPF Talk: bpf2bpf & tailcall 报错分析 2023-05-23 eBPF eBPF Talk 约 864 字 预计阅读 2 分钟 终于要将 bpf2bpf & tailcall 的组合落地到项目中了。 不过,当头一棒的是:tail_calls are not allowed when call stack of previous frames is 256 bytes. Too large。 幸好学习过 eBPF Talk: tailcall on x86, 阅读更多
eBPF Talk: 使用 AF_XDP 加速网络【译】 2023-05-23 eBPF eBPF Talk 约 2170 字 预计阅读 5 分钟 本文翻译自 2018 年的 LWN: Accelerating networking with AF_XDP。 以下为译文。 Linux 网络栈不缺乏特性,且对于大部分使用场景都有不错的性能表现。不过,随着网络的高速发展,对网 阅读更多
eBPF Talk: tailcall on x86【汇编慎入】【译】 2023-05-23 eBPF eBPF Talk 约 5190 字 预计阅读 11 分钟 本文翻译自 Assembly within! BPF tail calls on x86 and ARM,翻译了其中 tailcall 与 x86 部分,略过 arm 部分。 eBPF Talk: tailcall 与 bpf2bpf【译】 以下为译文。 最初我们学习编程的时候,我们就学 阅读更多
eBPF Talk: tailcall 与 bpf2bpf【译】 2023-05-23 eBPF eBPF Talk 约 1921 字 预计阅读 4 分钟 本文翻译自 Cilium 出品的 BPF and XDP Reference Guide,翻译了其中的 tailcall 和 bpf2bpf 部分。 tailcall:尾调用。 bpf2bpf:BPF 到 BPF 函数调用。 tailcall tailcall 可以看作允许 阅读更多
eBPF Talk: 全局变量、常量与 bpf map 2023-05-21 eBPF eBPF Talk 约 1865 字 预计阅读 4 分钟 全局变量的用法请参考 eBPF Talk: 全局变量实战指南。 常量的使用例子请参考 为 eBPF 程序注入黑魔法。 有同事提了个问题:在 eBPF 运行的时候是怎么访问它们的内存的呢? 阅读更多
eBPF Talk: veth, XDP, GRO ? 2023-05-21 eBPF eBPF Talk 约 952 字 预计阅读 2 分钟 书接上回 eBPF Talk: XDP 转发失败了,今回讲解为什么从物理网卡的驱动模式 XDP 程序 xdp_redirect() 到 veth 设备时一定要开启对端设备的 GRO 功能? 网络包 xdp_redirect() 转发到哪里去? 简单而言,网 阅读更多
eBPF Talk: XDP 转发失败了 2023-05-21 eBPF eBPF Talk 约 1198 字 预计阅读 3 分钟 奇葩场景遇到个奇葩问题。 为了更好的性能,就将 XDP 程序挂载到网卡驱动里。但有个业务需求,在 XDP 程序里将需要延迟的流量转发到 veth 设备。所以,就直接在 XDP 阅读更多
eBPF Talk: 在 veth 上运行 XDP 2023-05-21 eBPF eBPF Talk 约 1239 字 预计阅读 3 分钟 veth 设备在 Linux 容器网络里被广泛使用,像其它网络设备一样都支持运行 XDP 程序。 与此同时,veth 设备还支持 driver 模式的 XDP 程序。 如果在往 veth 设备上挂载 XDP 程序时 阅读更多
eBPF Talk: XDP metadata 实战指南 2023-05-21 eBPF eBPF Talk 约 1290 字 预计阅读 3 分钟 最近需要在两个 XDP 程序之间传递一个最简单的信息,原本想着使用使用一个 bpf map 来传递。经过同事提醒,有 XDP metadata 可以用来传递简单信息,我便解锁了 XDP metadata 技术。 阅读更多
eBPF Talk: 低性能 eBPF ACL 2023-05-21 eBPF eBPF Talk 约 1098 字 预计阅读 3 分钟 eBPF Talk: 再论高性能 eBPF ACL 中的 ACL 规则匹配算法比较复杂,晦涩难懂;相对于 iptables 而言,该实现就比较难维护了。这就是为了性能而牺牲了可维护性。 所以,有没有类似 阅读更多