Commit Graph

368 Commits (0e84610976c3148e1912f337e1589104373f0a96)
 

Author SHA1 Message Date
Alessandro Decina ca14306860 aya-gen: use aya_bpf::cty instead of aya_bpf_cty
This avoids having to add an explicit extra dep on aya-bpf-cty in ebpf
programs
3 years ago
Alessandro Decina d7ef47686b bpf: update bindings against libbpf 8bdc267e7b853ca08ed762b21fecc0e019ddc332 3 years ago
Alessandro Decina a678f3b38e Add dependabot conf 3 years ago
Dave Tucker 8acb92d61c Remove docs. Update URLs to aya-rs
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker 4e1ce2534c obj/btf: Fix size of Unknown variant
The size of Unknown should be ty_size, otherwise when it is encountered,
we never advance the cursor and it creates an infinite loop.

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker 569b8ca39e obj/btf: Add some tests for reading btf data
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker 753a683704 btf: Add bindings for BTF_KIND_FLOAT
Fixes: #34

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker 1153a51202
docs: Logging Packets (#47)
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Markus Stange 70dc862196
Fix rustup command in the docs. (#48)
rustup install nightly --component rust-src

gives:

```
error: Found argument '--component' which wasn't expected, or isn't valid in this context

USAGE:
    rustup install [FLAGS] [OPTIONS] <toolchain>...

For more information try --help
```

The correct command seems to be `rustup toolchain install nightly --component rust-src`.
3 years ago
Dave Tucker b880ccd269
README: Add docs link (#44)
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker 07a21e5822
docs: Initial Commit of Aya Book (#42)
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Alessandro Decina f30abca15e (cargo-release) version 0.10.3 3 years ago
Alessandro Decina 66a12ffcf7 aya: programs: tweak LircMode2::query doc. 3 years ago
Alessandro Decina 8c03ba052a aya: netlink: fix clippy lint 3 years ago
Alessandro Decina a68ff47246 aya-bpf, aya-bpf-bindings: fix clippy lints 3 years ago
Sean Young 81e07e9661
Implement query for lirc programs (#32)
Signed-off-by: Sean Young <sean@mess.org>
3 years ago
Alessandro Decina fa2cbe2f82 aya: fix clippy warnings 3 years ago
Alessandro Decina c2a90c2c01 aya: tc: add qdisc_detach_program
qdisc_detach_program can be used to detach all the programs that have
the given name. It's useful when you want to detach programs that were
attached by some other process (eg. iproute2), or when you want to
detach programs that were previously left attached because the program
that attached them was killed.
3 years ago
Alessandro Decina 0a9d02140a aya: netlink: fix alignment when writing attributes 3 years ago
Alessandro Decina abb199e6f4 aya: netlink: fix handling of multipart messages 3 years ago
Alessandro Decina 9185f32f6f aya: tc: clean up netlink code a bit 3 years ago
Simone Margaritelli b4b019e447
fix: pass BTF object by reference in order to allow multiple eBPF programs to share it and save memory (closes #30). (#31) 3 years ago
Tw 55ba0538f2
bpf: add support for tracepoint program (#29)
This patch add initial support for tracepoint program type.
Hope you enjoy.

Signed-off-by: Tw <wei.tan@intel.com>
3 years ago
Alessandro Decina d996a88de4 aya: fix formatting 3 years ago
Alessandro Decina 12ea9f3500 CI: enable clippy for aya, aya-gen and xtask 3 years ago
Alessandro Decina 2d16843d5d xtask: clippy warnings 3 years ago
Alessandro Decina 5dfd27dbd0 bpf: fix some clippy warnings 3 years ago
Alessandro Decina 1159741eda aya-gen: fix clippy warnings 3 years ago
Alessandro Decina 0878c4505a aya: fix clippy warnings 3 years ago
Alessandro Decina 21e01df242 aya: obj: improve parse_map_def tests
Add a test that checks that we handle ELF section padding correctly and
simplify the other tests.
3 years ago
Alessandro Decina b657930a3e aya: don't error out parsing padded map sections
Fixes #28
3 years ago
Simone Margaritelli 8311abfdcb
added support for armv7-unknown-linux-gnueabi and armv7-unknown-linux-gnueabihf
* new: added support for armv7-unknown-linux-gnueabi (closes alessandrod/aya/issues/22)

* fix: replaced custom type defintions with proper libc types

* fix: fixed pointless parameter binding

* new: added linker for armv7-unknown-linux-gnueabihf to cargo config
3 years ago
Alessandro Decina b3ecbe7c54
Merge pull request #27 from tw4452852/minor_fix_for_stackid
bpf: fix a minor bug due to stackid allocation
3 years ago
Tw d1b7b024dc bpf: fix a minor bug due to stackid allocation
The type casting introduces an allocation, this will cause compiling failure when linking final bpf target.
So remove this casting to fix this issue.

BTW, the following is the failure I met:

= note: 07:24:12 [ERROR] fatal error: "unable to allocate function return #1"
          PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
          Stack dump:
          0.    Running pass 'Function Pass Manager' on module 'trace_bpf-001a275b17e9eb12'.
          1.    Running pass 'BPF DAG->DAG Pattern Instruction Selection' on function '@_ZN7aya_bpf4maps11stack_trace10StackTrace11get_stackid17h32b649bc3780c0aaE'

Signed-off-by: Tw <wei.tan@intel.com>
3 years ago
Alessandro Decina 7eddffb962
Merge pull request #25 from tw4452852/stacktrace
bpf: add support for STACK_TRACE map
3 years ago
Tw fd20bd5e23 bpf: add support for STACK_TRACE map
This path support initial support for BPF_MAP_TYPE_STACK_TRACE.

Signed-off-by: Tw <wei.tan@intel.com>
3 years ago
Alessandro Decina ef39e0ebd2 bpf: sk_skb: add ::cb() and ::cb_mut() to work with skb->cb 3 years ago
Alessandro Decina 9c8e78b7d4 aya: tc: make qdisc_add_clsact return io::Error 3 years ago
Alessandro Decina 35e9b4e639 bpf: don't generate bpf_map_def and fix aya_bpf::bindings overrides 3 years ago
Alessandro Decina ec5822d78e bpf: sk_skb: wrap more helpers 3 years ago
Alessandro Decina 122a5306e7 aya, aya-bpf-bindings: regenerate bindings 3 years ago
Alessandro Decina a847d6d53b xtask: aya-bpf-bindings: add bpf_adj_room_mode 3 years ago
Alessandro Decina 8cd669ca9a xtask: fix include paths for kernel headers bundled with libbpf 3 years ago
Alessandro Decina 08c71dfeb1 aya: kprobe: remove pid argument
Kprobes can only be attached globally. Per-pid logic needs to be
implemented on the BPF side with bpf_get_current_pid_tgid.
3 years ago
Arnabjyoti Kalita 35f15f70e0
aya: add minimum kernel version for each map and program type (#18) 3 years ago
Alessandro Decina be035bf42c CI: add lint workflow 3 years ago
Alessandro Decina 1d294ba34c CI: don't install bpf-linker
The bpf code isn't tested in CI yet
3 years ago
Alessandro Decina bb15e82c1d aya: add missing load() in kprobe example
Fixes #17
3 years ago
Rafael Ortiz d8d311738c
aya: support both bpf_map_def layout variants
Libbpf and iproute2 use two slightly different `bpf_map_def` layouts. This change implements support for loading both.

Refs: #10, #14
3 years ago
Alessandro Decina 97cb0db0ad bpf/aya-bpf-cty: target_arch for bpf*-unknown-none was renamed to "bpf" 3 years ago