Alessandro Decina
a94774755f
Merge pull request #76 from willfindlay/load_include_bytes
...
aya: introduce include_bytes_aligned!() macro
3 years ago
William Findlay
4df4e9c14e
aya: introduce include_bytes_aligned!() macro
...
This is a helper macro that can be used to include bytes at compile-time that can then be
used in Bpf::load(). Unlike std's include_bytes!(), this macro also ensures that the
resulting byte array is correctly aligned so that it can be parsed as an ELF binary.
Signed-off-by: William Findlay <william@williamfindlay.com>
3 years ago
Alessandro Decina
75acbe1455
xtask: fix clippy warning
3 years ago
Dave Tucker
1a4c76e3c4
ci: Update codgen workflow commit message
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
alessandrod
03e9935358
Bump libbpf to 92c1e61a605410b16d6330fdd4a7a4e03add86d4
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
dependabot[bot]
c99dcfb9d3
build(deps): update object requirement from 0.26 to 0.27
...
Updates the requirements on [object](https://github.com/gimli-rs/object ) to permit the latest version.
- [Release notes](https://github.com/gimli-rs/object/releases )
- [Changelog](https://github.com/gimli-rs/object/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gimli-rs/object/compare/0.26.0...0.27.0 )
---
updated-dependencies:
- dependency-name: object
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
3 years ago
Dave Tucker
1f541314ab
readme: fix build badge
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Alessandro Decina
4152e8b1a4
(cargo-release) version 0.10.5
3 years ago
Alessandro Decina
1f3acbcfe0
bpf: add override for bpf_probe_read_user_str
3 years ago
Alessandro Decina
59a1854a6b
aya: fix call relocation bug
...
Take the section offset into account when looking up relocation entries
3 years ago
Dave Tucker
dc4b928ec5
miri: Disable Stacked Borrows and skip some tests
...
The perf_buffer code fails due to stacked borrows, skip this for now.
munmap isn't supported by miri.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker
93e9cd0e00
ci: Add miri
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Alessandro Decina
4116442cda
bpf: PerfEventByteArray: remove unused import
3 years ago
Alessandro Decina
0220a4192c
bpf: add PerfEventByteArray
...
Similar to PerfEventArray but allows to output variable length byte
slices
3 years ago
Alessandro Decina
23a70382b2
bpf: PerfEventArray: tweak output API
3 years ago
Alessandro Decina
ea91fe08d3
bpf: rename PerfMap to PerfEventArray
3 years ago
Alessandro Decina
52c51895ba
aya: fix clippy
3 years ago
Alessandro Decina
32350f81b7
bpf: add memset impl that doesn't trip the verifier
...
Add a verifier proof memset implementation. This is a quick hack until
we fix compiler-builtins for the bpf target.
3 years ago
Alessandro Decina
64e3fb4cc8
aya: improve docs a bit and make BpfLoader default to loading BTF if available
3 years ago
Alessandro Decina
5f8f18e3a1
aya: loader: take BTF info as reference
...
Allows sharing the same BTF info across many loaders
3 years ago
Dave Tucker
090efc863d
bpf: Fix clippy warnings
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker
16b89fbe72
ci: Add CI for aya-bpf
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker
69041954cb
bpf: Added pinned constructor to maps
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker
9426f36f79
Implement Pinning For Programs and Maps
...
This commit adds 2 new methods to aya::sys
- bpf_pin_object
- bpf_get_object
Which allow the pinning and retrieval of programs/maps to bpffs.
It adds a `Program.pin` API, such that a loaded program can be pinned.
For map pinning, the user must ensure the `pinning u32` in the
`bpf_map_def` is set to 1, maps will be pinned using a new builder API.
BpfLoader::new().map_pin_path("/sys/fs/bpf/myapp").load_file("myapp.o")
This will pin all maps whose definition requests pinning to path + name.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Alessandro Decina
a7f5b3775d
(cargo-release) version 0.10.4
3 years ago
Dave Tucker
a10a7b3bf2
bump obj to 0.26
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker
544efdd4d7
ci: Add action for xtask codegen
...
This commit adds a github action that will
- check out aya and libbpf
- run xtask codegen
- if there is a diff, open commit changes to the codegen branch
- if changes were comitted, open a pull-request
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Alessandro Decina
98361a4c93
aya: minor PerfEvent API tweaks
3 years ago
Alessandro Decina
7af1cf136c
aya: generate bindings for more perf types
3 years ago
Alessandro Decina
b0a05e759e
aya: run xtask codegen aya
3 years ago
Markus Stange
c39dff6025
Add support for PerfEvent programs.
3 years ago
Alessandro Decina
269be03a89
bpf: add PerCpuArray
3 years ago
Alessandro Decina
c56a6b16aa
aya: only consider Text symbols as relocatable functions
3 years ago
Alessandro Decina
d9fc0f484f
aya: fix bug with nested call relocations
...
Use the correct offset when looking up relocation entries while doing
nested call relocations.
3 years ago
Dave Tucker
e9bad0b61d
Make Clippy Happy
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Alessandro Decina
4fcb1d75b9
aya-gen: bump bindgen to 0.59
3 years ago
Alessandro Decina
9c27910f76
aya: update authors and repository link
3 years ago
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