AF_XDP 适用场景

本文对应 成长路径 中优先级:在 保留内核驱动 的前提下,把 特定队列 的流量送到用户态高速处理。


是什么

  • AF_XDP socket 绑定 网卡 RX 队列(XSK map + BPF 重定向)。
  • 报文进入 UMEM 环形缓冲,用户态 零拷贝 读取(模式依赖驱动)。

仍使用 内核网卡驱动,不是完整 UIO/VFIO 接管网卡


与完整 DPDK 对比

AF_XDPDPDK PMD
接管网卡否,共享驱动是(bind 后内核不可见)
部署需 XDP 支持驱动需 hugepage、绑核
协议栈可同口其他队列走内核数据口通常全在用户态
典型场景混合、渐进迁移线速专用 数据面

何时考虑 AF_XDP

  • 需要 内核栈(SSH、路由)与 高速处理 共存。
  • 不想维护 双口 但驱动支持 XDP
  • PPS 需求 低于 完整 DPDK 上限但仍要优化。

何时仍用 DPDK

  • 追求 极致 PPS/延迟,愿 独占 网卡。
  • rte_flow 等完整 offload 生态。

与内核网络栈共存


延伸阅读