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
- 高层描述符
- Descriptor
Engine - 描述符校验引擎
- XdpDesc
- AF_XDP 内核 xdp_desc 结构的 Rust 表示
Enums§
- Descriptor
Type - 描述符类型(高层语义)
Constants§
- MAX_
FRAME_ INDEX - 最大合法 frame index(20-bit 帧索引域上界 2^20 - 1,AGENT.md §5.1)