XDP

XDP 工作模式
XDP 有三种工作模式,默认是 native (原生)模式,当讨论XDP 时通常隐含的都是指这种模式


Native XDP
  默认模式,在这种模式中,XDP BPF 程席直接运行在网络驱动的早期接收路径上( eary receive path)。大部分广泛使用的 10G 及更高速的网卡都已经支持这种模式


Offloaded XDP
  在这种模式中,XDP BPF 程序直接 fiload 到网卡,而不是在主机的 CPU 上执行。因此,本来就已经很低的 per-packet开销完全从主机下放到网卡,能够比运行在 native XDP 模式取得更高的性能。这种 fload 通常由智能网卡实现,这些网卡有多线程、多核流处理器(flow processors) ,一个位于内核中的JIT 编译器 ( in-ernel JIT compiler)将 BPF 翻译成网卡的原生指令。
  支持 offloaded XDP 模式的驱动通常也支持 native XDP 模式


Generic XDP
  对于还没有实现 native 或ofiloaded XDP 的驱动,内核提供了一个 generic XDP 选项,这种模式不需要任何驱动改动,因为相应的XDP代码运行在网络栈很后面的一个位置 (a much later point)。
这种设置主要面向的是用内核的 XDP AP 来编写和测试程序的开发者,并且无法达到 前面两种模式能达到的性能。对于在生产环境使用 XDP,推荐要么选择 native 要么选择 offloaded 模式

posted @ 2023-07-13 11:25  壳刀刀  阅读(330)  评论(0)    收藏  举报