Alessandro Decina
3b7ffd0048
aya: update generated bindings
...
Update generated bindings with kernel headers from libbpf 4ccc1f0
4 years ago
Alessandro Decina
c44393d59b
xtask: codegen: use uapi kernel headers from libbpf
...
libbpf periodically syncs uapi headers from the kernel. Use those to
generate bindings so that we don't have to rely on distro packages
when we cut releases.
4 years ago
Alessandro Decina
9595bd4571
aya-gen: don't generate doc comments
4 years ago
Alessandro Decina
30d2b25f11
aya: xdp: fix detaching on kernels older than 5.7
...
XDP_FLAGS_REPLACE was added in 5.7. Now for kernels >= 5.7 whenever we
detach an XDP program we pass along the program fd we expect to be
detaching. For older kernels, we just detach whatever is attached, which
is not great but it's the way the API worked pre XDP_FLAGS_REPLACE.
4 years ago
Alessandro Decina
607cf68a69
aya: xdp: set flags when attaching with netlink
4 years ago
Alessandro Decina
bb7728a2c5
aya: fix BpfError display strings
4 years ago
Alessandro Decina
1b314ded2f
bpf: add SockHash::redirect
4 years ago
Alessandro Decina
9e12c9324c
aya: fix warnings
4 years ago
Alessandro Decina
dda8534d9d
xtask: aya-bpf-bindings: generate bindings for xdp_action
4 years ago
Alessandro Decina
e11edc072b
bpf: add more bindings
...
Initial support for Array, HashMap and SockHash maps, and for SkSkb,
SkMsg, SockOps and XDP programs.
4 years ago
Alessandro Decina
9a24f20e6f
aya: programs: rework load_program() retry code a bit
4 years ago
Alessandro Decina
4dccd840ca
aya-gen: rename binary from main to aya-gen
4 years ago
Alessandro Decina
144175434f
aya: programs: add support for SkMsg programs
4 years ago
Alessandro Decina
dad300c88b
aya: maps: add SockHash
4 years ago
Alessandro Decina
696ca1ffa8
aya-bpf-bindings: generate bindings for pt_regs and sk_action
4 years ago
Alessandro Decina
ca4b3bfc04
aya: add support for SockOps programs
4 years ago
Alessandro Decina
b57cace941
aya: add support BPF_PROG_TYPE_SK_SKB programs and SockMaps
4 years ago
Alessandro Decina
b6cd813af5
aya: fix program array key size
4 years ago
Alessandro Decina
0b3e532d7a
aya: small doc fixes
4 years ago
Alessandro Decina
79f1b385a5
aya: more docs
4 years ago
Alessandro Decina
683a58ea6d
aya: consolidate errors into ProgramError::SyscallError
4 years ago
Alessandro Decina
ae863bc663
aya: split aya::programs::probe into ::kprobe and ::uprobe & add docs
4 years ago
Alessandro Decina
d9634ae945
aya: add maps::StackTraceMap
...
Map type for BPF_MAP_TYPE_STACK_TRACE.
4 years ago
Alessandro Decina
67c9cc0359
aya: add util::kernel_symbols()
...
kernel_symbols() can be used to load /proc/kallsyms in a BTreeMap.
Useful for looking up symbols from stack addresses.
4 years ago
Alessandro Decina
2cdb10e7f2
aya: add bpf_map_lookup_elem_ptr
4 years ago
Alessandro Decina
ad6d0596ab
aya: tweak docs
4 years ago
Alessandro Decina
f464279740
aya: rename ProgramArray::unset to ProgramArray::clear_index
4 years ago
Alessandro Decina
9ad2a5e72d
aya: rename ProgramArray::keys to ProgramArray::indices
4 years ago
Alessandro Decina
b0364f76ab
aya: maps: add PerCpuArray
4 years ago
Alessandro Decina
74d5f17559
aya: rework IterableMap and ProgramArray
...
Make MapKeys not use IterableMap. Leave only ProgramArray::get,
ProgramArray::set and ProgramArray::unset exposed as the other syscalls
don't work consistently for program arrays.
4 years ago
Alessandro Decina
aa3a30d196
aya: PerCpuKernelMem doesn't need to be public
4 years ago
Alessandro Decina
1746bbf5b8
aya: add aya::maps::Array
4 years ago
Alessandro Decina
c3b902137b
aya: add aya::maps::array and move ProgramArray under it
4 years ago
Alessandro Decina
6cec8be564
aya: hash_map: add doc aliases for HASH and LRU_HASH
4 years ago
Alessandro Decina
7a989b43b9
aya: per_cpu_hash_map: add support for BPF_MAP_TYPE_LRU_PERCPU_HASH
4 years ago
Alessandro Decina
635dcd44b9
aya: maps: introduce MapError::KeyNotFound
...
Change get() from -> Result<Option<V>, MapError> to -> Result<V,
MapError> where MapError::KeyNotFound is returned instead of Ok(None) to
signify that the key is not present.
4 years ago
Alessandro Decina
fd142e467c
aya: rename MapError::NotFound to MapError::MapNotFound
4 years ago
Alessandro Decina
3a5b289163
aya: add PerCpuHashMap
4 years ago
Alessandro Decina
d5098c9e57
aya: move hash_map.rs to hash_map/hash_map.rs
4 years ago
Alessandro Decina
6a12a48f03
aya: hash_map: factor out common hash code
...
This is in preparation of adding new hash map types
4 years ago
Alessandro Decina
ac83273da8
aya: fix warnings
4 years ago
Alessandro Decina
46e0a2ede4
aya: don't export VerifierLog
4 years ago
Alessandro Decina
7c6ae76975
aya: HashMap: add support for LRU maps
4 years ago
Alessandro Decina
04fde46855
aya: more docs
4 years ago
Alessandro Decina
eea27f52f3
aya: tweak docs
4 years ago
Alessandro Decina
5aa9cb12ad
aya: rename perf map and add docs
...
Rename the perf_map module to just perf, and rename PerfMap to
PerfEventArray.
4 years ago
Alessandro Decina
d94bfde295
aya: maps: add docs and make the hash_map and program_array modules public
4 years ago
Alessandro Decina
ce3f83acb1
aya: add HashMap docs
4 years ago
Alessandro Decina
e28da8812e
aya: make HashMap::new private
4 years ago
Alessandro Decina
24f7c37158
aya: add ProgramArray docs
4 years ago