1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//! Zenith eBPF - eBPF 程序管理与 XDP 支持
//!
//! 本 crate 提供极致优化的 eBPF 程序管理能力,包括:
//! - 预编译字节码嵌入(include_bytes!)
//! - libbpf-rs 高性能加载
//! - bpf_link 原子挂载
//! - 双 Bank 热更新(零丢包切换)
//!
//! ## 架构设计
//!
//! ```text
//! +---------------------------------------------------------+
//! | 用户态 Rust |
//! | +-------------+ +-------------+ +-----------------+ |
//! | | XdpLoader | | BpfMaps | | DualBankManager | |
//! | +------+------+ +------+------+ +--------+--------+ |
//! | | | | |
//! | +----------------+------------------+ |
//! | | |
//! | +-----------+-----------+ |
//! | | libbpf-rs | |
//! | +-----------+-----------+ |
//! +--------------------------+------------------------------+
//! | bpf_link
//! +--------------------------+------------------------------+
//! | 内核态 eBPF |
//! | +-----------+-----------+ |
//! | | XDP eBPF 程序 | |
//! | | (预编译字节码加载) | |
//! | +-----------+-----------+ |
//! | | |
//! | +-----------+-----------+ |
//! | | BPF Maps (XSKMAP等) | |
//! | +-----------------------+ |
//! +---------------------------------------------------------+
//! ```
// eBPF/libbpf 仅 Linux 可用:非 Linux 目标下本 crate 整体为空,
// 依赖方(zenith-runtime 等)以同样的 cfg(target_os = "linux") 门控使用点。
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;