Skip to main content

Module descriptor

Module descriptor 

Source
Expand description

AF_XDP 描述符模块

实现与内核 AF_XDP ABI 兼容的描述符体系:

  • XdpDesc: 内核 xdp_desc 结构的 Rust 表示(addr/len/options 三字段)
  • Descriptor: 带所有权元数据的高层描述符(在 XdpDesc 基础上扩展 owner/generation)
  • DescriptorEngine: 描述符分配/释放/守恒校验引擎

§内核 ABI 对齐

Linux 内核 xdp_desc 结构(include/uapi/linux/bpf.h):

struct xdp_desc {
    __u64 addr;      // UMEM 中的偏移地址
    __u32 len;      // 数据长度(字节)
    __u32 options;  // 选项标志(如 XDP_TX_META_DATA)
};

§高层扩展

Zenith 在 XdpDesc 基础上扩展了所有权元数据:

  • owner: 描述符所有者(队列/Worker ID)
  • generation: 代际号(防止 ABA 问题)

Structs§

Descriptor
高层描述符
DescriptorEngine
描述符校验引擎
XdpDesc
AF_XDP 内核 xdp_desc 结构的 Rust 表示

Enums§

DescriptorType
描述符类型(高层语义)

Constants§

MAX_FRAME_INDEX
最大合法 frame index(20-bit 帧索引域上界 2^20 - 1,AGENT.md §5.1)