-
-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathCargo.toml
90 lines (84 loc) · 2.43 KB
/
Cargo.toml
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
[package]
name = "einat"
version = "0.1.7"
edition = "2021"
license = "GPL-2.0"
authors = ["Huang-Huang Bao <[email protected]>"]
repository = "https://github.com/EHfive/einat-ebpf"
rust-version = "1.80"
publish = false
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[profile.release]
codegen-units = 1
lto = true
opt-level = "z"
strip = true
[features]
default = ["aya", "pkg-config"]
# Enable IPv6 NAPT
ipv6 = []
# Enable Aya BPF loader
aya = [
# the dep:aya is also used for determining kernel version so it's already included
]
# Enable libbpf BPF loader
libbpf = ["dep:libbpf-rs", "dep:libbpf-sys"]
# Enable libbpf skeleton-wrapped BPF loader
libbpf-skel = [
"dep:libbpf-rs",
"dep:libbpf-sys",
"dep:libbpf-cargo",
"dep:self_cell",
]
# Bindgen for libbpf headers, required on 32-bit platforms
bindgen = ["libbpf-sys?/bindgen"]
# Link against static `libelf` and `zlib` for libbpf loader.
static = ["libbpf-sys?/static"]
#
# libbpf is vendored and static in any case.
#
[dependencies]
anyhow = "1.0.96"
async-stream = "0.3.6"
aya = "0.13.1"
aya-obj = "0.2.1"
bitflags = { version = "2.8.0", features = ["bytemuck"] }
bytemuck = { version = "1.21.0", features = ["derive"] }
cfg-if = "1.0.0"
enum_dispatch = "0.3.13"
fundu = "2.0.1"
futures-util = { version = "0.3.31", default-features = false, features = [
"std",
] }
ipnet = { version = "2.11.0", features = ["serde"] }
lexopt = "0.3.0"
libbpf-rs = { version = "0.24.8", optional = true }
libbpf-sys = { version = "1.5.0", optional = true }
libc = "0.2.170"
netlink-packet-core = "0.7.0"
netlink-packet-route = "0.19.0"
netlink-proto = "0.11.5"
netlink-sys = "0.8.7"
prefix-trie = "0.6.0"
rtnetlink = "0.14.1"
self_cell = { version = "1.1.0", optional = true }
serde = { version = "1.0.218", features = ["derive"] }
tokio = { version = "1.43.0", features = [
"macros",
"rt",
"signal",
"sync",
"time",
] }
toml = { version = "0.8.20", default-features = false, features = ["parse"] }
tracing = { version = "0.1.41", default-features = false, features = ["std"] }
tracing-subscriber = { version = "0.3.19", default-features = false, features = [
"std",
"fmt",
"ansi",
] }
[target.'cfg(not(target_arch="x86_64"))'.dependencies]
libbpf-sys = { version = "1.5.0", features = ["bindgen"], optional = true }
[build-dependencies]
libbpf-cargo = { version = "0.24.8", optional = true }
pkg-config = { version = "0.3.31", optional = true }