Alessandro Decina
d085bdb89f
CI: add build-test github action
3 years ago
Alessandro Decina
240c65507b
bpf: add HashMap::remove()
3 years ago
Alessandro Decina
696ae6079c
bpf: Add HashMap::pinned API
4 years ago
Alessandro Decina
97c96383bd
bpf: improve SockOpsContext API
4 years ago
Alessandro Decina
cb3d71429c
bpf: improve SkMsgContext API
4 years ago
Alessandro Decina
bf4892d0db
bpf: add support for Queue and SockMap maps
4 years ago
Alessandro Decina
31f8d71604
aya: add support for Stack and Queue maps
4 years ago
Alessandro Decina
157c0e2831
bpf: generate bindings for SOL_SOCKET and SO_* socket options
...
This is needed for bpf_getsockopt() and bpf_setsockopt()
4 years ago
Alessandro Decina
575e85c412
bpf: add id and pinning fields to bpf_map_def
4 years ago
Alessandro Decina
40b7da6655
aya: add id and pinning fields to bpf_map_def
4 years ago
Alessandro Decina
ab8d512b60
bpf: add HashMap::insert
4 years ago
Alessandro Decina
dc4e020f29
aya: netlink: improve error messages
4 years ago
Alessandro Decina
8f55cd728c
bpf: SkSkbContext: add ::l3_csum_replace
4 years ago
Alessandro Decina
4febbc3fae
bpf: perf_map: fix type error
4 years ago
Alessandro Decina
8e6f447e9b
bpf: sk_skb: add helper methods
...
This adds support for skb_store_bytes, skb_load_bytes and
l4_csum_replace to SkSkbContext.
4 years ago
Alessandro Decina
274ea91b5e
bpf: aya-bpf-bindings: commit generated bindings
4 years ago
Alessandro Decina
afcc5dc662
bpf: add support for BPF_PROG_TYPE_SCHED_CLS programs
4 years ago
Alessandro Decina
5effc972ac
aya: add support for BPF_PROG_TYPE_SCHED_CLS programs
4 years ago
Alessandro Decina
4222b140ec
aya: perf_map: fix bug when max_entries=0
...
When a perf map has max_entries=0, max_entries is dynamically set at
load time to the number of possible cpus as reported by
/sys/devices/system/cpu/possible.
This change fixes a bug where instead of setting max_entries to the
number of possible cpus, we were setting it to the cpu index of the last
possible cpu.
4 years ago
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