Commit Graph

1826 Commits (fb0af68738810112eb4b8c44b162f6e36af2a4f3)
 

Author SHA1 Message Date
Alessandro Decina 665802594c aya: programs: fix syscall name in errors
Alessandro Decina 81a0b61164 aya: handle reordered functions
LLVM will split .text into .text.hot .text.unlikely etc and move the
content around in order to improve locality. We need to parse all the
text sections or relocations can potentially fail.
Alessandro Decina b92b1e18a9 aya: improve call relocation error messages
Alessandro Decina 20b2d4c77d aya: BpfError: set the #[source] attribute for RelocationErrors
Arnabjyoti Kalita 6974d349e8
programs: add support for attaching and detaching TC programs
This change adds support for attaching TC programs directly from aya, without
having to use iproute2/tc.
Alessandro Decina d085bdb89f CI: add build-test github action
Alessandro Decina 240c65507b bpf: add HashMap::remove()
Alessandro Decina 696ae6079c bpf: Add HashMap::pinned API
Alessandro Decina 97c96383bd bpf: improve SockOpsContext API
Alessandro Decina cb3d71429c bpf: improve SkMsgContext API
Alessandro Decina bf4892d0db bpf: add support for Queue and SockMap maps
Alessandro Decina 31f8d71604 aya: add support for Stack and Queue maps
Alessandro Decina 157c0e2831 bpf: generate bindings for SOL_SOCKET and SO_* socket options
This is needed for bpf_getsockopt() and bpf_setsockopt()
Alessandro Decina 575e85c412 bpf: add id and pinning fields to bpf_map_def
Alessandro Decina 40b7da6655 aya: add id and pinning fields to bpf_map_def
Alessandro Decina ab8d512b60 bpf: add HashMap::insert
Alessandro Decina dc4e020f29 aya: netlink: improve error messages
Alessandro Decina 8f55cd728c bpf: SkSkbContext: add ::l3_csum_replace
Alessandro Decina 4febbc3fae bpf: perf_map: fix type error
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.
Alessandro Decina 274ea91b5e bpf: aya-bpf-bindings: commit generated bindings
Alessandro Decina afcc5dc662 bpf: add support for BPF_PROG_TYPE_SCHED_CLS programs
Alessandro Decina 5effc972ac aya: add support for BPF_PROG_TYPE_SCHED_CLS programs
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.
Alessandro Decina 3b7ffd0048 aya: update generated bindings
Update generated bindings with kernel headers from libbpf 4ccc1f0
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.
Alessandro Decina 9595bd4571 aya-gen: don't generate doc comments
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.
Alessandro Decina 607cf68a69 aya: xdp: set flags when attaching with netlink
Alessandro Decina bb7728a2c5 aya: fix BpfError display strings
Alessandro Decina 1b314ded2f bpf: add SockHash::redirect
Alessandro Decina 9e12c9324c aya: fix warnings
Alessandro Decina dda8534d9d xtask: aya-bpf-bindings: generate bindings for xdp_action
Alessandro Decina e11edc072b bpf: add more bindings
Initial support for Array, HashMap and SockHash maps, and for SkSkb,
SkMsg, SockOps and XDP programs.
Alessandro Decina 9a24f20e6f aya: programs: rework load_program() retry code a bit
Alessandro Decina 4dccd840ca aya-gen: rename binary from main to aya-gen
Alessandro Decina 144175434f aya: programs: add support for SkMsg programs
Alessandro Decina dad300c88b aya: maps: add SockHash
Alessandro Decina 696ca1ffa8 aya-bpf-bindings: generate bindings for pt_regs and sk_action
Alessandro Decina ca4b3bfc04 aya: add support for SockOps programs
Alessandro Decina b57cace941 aya: add support BPF_PROG_TYPE_SK_SKB programs and SockMaps
Alessandro Decina b6cd813af5 aya: fix program array key size
Alessandro Decina 0b3e532d7a aya: small doc fixes
Alessandro Decina 79f1b385a5 aya: more docs
Alessandro Decina 683a58ea6d aya: consolidate errors into ProgramError::SyscallError
Alessandro Decina ae863bc663 aya: split aya::programs::probe into ::kprobe and ::uprobe & add docs
Alessandro Decina d9634ae945 aya: add maps::StackTraceMap
Map type for BPF_MAP_TYPE_STACK_TRACE.
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.
Alessandro Decina 2cdb10e7f2 aya: add bpf_map_lookup_elem_ptr
Alessandro Decina ad6d0596ab aya: tweak docs