eBPF Talk: XDP redirect to AF_XDP 2023-05-23 eBPF eBPF Talk 约 2515 字 预计阅读 6 分钟 通过学习 eBPF Talk: AF_XDP,我们掌握了 AF_XDP 的那些基础知识。 提问:对于如下高性能场景,在网卡收到网络包后,该网络包会被哪个 AF_XDP socket 处理呢? 该网卡独占一 阅读更多
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 技术。 阅读更多