Alessandro Decina
56fd09c443
Merge pull request #78 from willfindlay/main
...
aya: fix include_bytes_aligned! macro to work in some corner cases
3 years ago
William Findlay
99f6f9e14d
aya: fix include_bytes_aligned! macro to work in some corner cases
...
I found a corner case in my own development workflow that caused the existing macro to not
work properly. The following changes appear to fix things. Ideally, we could add some test
cases to CI to prevent regressions. This would require creating a dedicated directory to
hold test cases so that we can "include" them at compile time.
3 years ago
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