Alessandro Decina
6aea880890
ebpf: use new PerCpuArray::get_ptr_mut API
2 years ago
Dave Tucker
526493b444
aya-log, aya-log-common: start next development iteration 0.1.11-dev.0
2 years ago
Dave Tucker
3abd97307e
aya-log, aya-log-common: release version 0.1.10
2 years ago
dependabot[bot]
060ba45153
Update aya requirement from 0.10.7 to 0.11.0
...
Updates the requirements on [aya](https://github.com/aya-rs/aya ) to permit the latest version.
- [Release notes](https://github.com/aya-rs/aya/releases )
- [Commits](https://github.com/aya-rs/aya/compare/aya-v0.10.7...aya-v0.11.0 )
---
updated-dependencies:
- dependency-name: aya
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
Dave Tucker
0038b43627
Add CI
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
c1bb790c0d
Add vim/vscode rust-analyzer settings
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
3f0085195f
Add rustfmt.toml
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
5789585994
ebpf: Add example
...
This ensures that macro expansion works properly and that expanded code
compiles
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
5d82d9a73e
Add Tests
...
This moves a large chunk of code from ebpf to shared so we can re-use
write_record_header and write_record_message and friends so that we
can write test cases to ensure that logs are properly formatted
given certain input.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Michal Rostecki
628b473e09
ebpf: Ensure the bounds of log buffer
...
eBPF verifier rejects programs which are not checking the bounds of the
log buffer before writing any arguments. This change ensures that
written log arguments.
In practice, it means that doing this kind of checks is not going to be
needed in eBPF program code anymore:
33a1aee2ea/echo-ebpf/src/main.rs (L47)
Tested on:
876f8b4551
Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
2 years ago
Michal Rostecki
70b4e68130
common: Bump the buffer size
...
1024 is too small for many kernel string limits (i.e. PATH_MAX, which is
4096).
Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
2 years ago
Alessandro Decina
bd9a5c8fdf
aya-log, aya-log-common: start next development iteration 0.1.10-dev.0
2 years ago
Alessandro Decina
8bc1bbb3ab
aya-log, aya-log-common: release version 0.1.9
2 years ago
Alessandro Decina
a8d133f6b0
Add cargo-release config
2 years ago
Alessandro Decina
d1a0ce51ee
xtask: do not release
2 years ago
Alessandro Decina
c4d89fa13c
aya-log: use stricter version for the aya-log-common dep
2 years ago
Alessandro Decina
bdb2750e66
ebpf: inline write_record_header
...
This seems to help the verifier keep track of where we're writing into
LOG_BUF
2 years ago
Michal Rostecki
81befa0661
Update aya to 0.10.7
...
Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
2 years ago
Michal Rostecki
ca1fe7e05f
Format arguments in userspace
...
This change moves away argument formatting from eBPF to the userspace.
eBPF part of aya-log writes unformatted log message and all arguments to
the perf buffer and the userspace part of aya-log is formatting the
message after receiving all arguments.
Aya-based project to test this change:
https://github.com/vadorovsky/aya-log-example
Fixes : #4
Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
Signed-off-by: Tuetuopay <tuetuopay@me.com>
Co-authored-by: Tuetuopay <tuetuopay@me.com>
2 years ago
Alessandro Decina
9b229d00e1
Don't recompute the record length
2 years ago
Alessandro Decina
7f8d7057df
ebpf: initialize AYA_LOGS with max_entries=0
...
This way aya will create one perf buffer for each cpu
2 years ago
Alessandro Decina
2800454763
Fix clippy warning
2 years ago
Alessandro Decina
8bde15dad7
Add copy of README.md inside aya-log/
...
Needed for crates.io
2 years ago
Alessandro Decina
5e18a715b2
Add missing manifest fields
2 years ago
Alessandro Decina
31e71f8db5
(cargo-release) version 0.1.1
2 years ago
Alessandro Decina
29955b2287
(cargo-release) version 0.1.1
2 years ago
Alessandro Decina
6d14a16d8e
git add .cargo and xtask
2 years ago
Alessandro Decina
cced3da5c8
Update to aya 0.10.5
2 years ago
Alessandro Decina
9ab9c80183
Simplify BpfLogger::init
...
Make BpfLogger::init(bpf) log using the default logger. Add
BpfLoger::init_with_logger(bpf, logger) for logging using a custom
logger instance.
2 years ago
Alessandro Decina
2ac433449c
Minor tweaks to make the verifier's job easier
2 years ago
Alessandro Decina
b14d4bab2f
Switch to aya-ufmt
2 years ago
Alessandro Decina
22d8f86fbb
Use aya_bpf::maps::PerfEventByteArray to output logs
2 years ago
Alessandro Decina
741957f945
Use aya_log_ebpf::ufmt instead of ::ufmt
2 years ago
Alessandro Decina
0d7ac3eb3e
Add ufmt to readme
2 years ago
Alessandro Decina
5df853cfb0
Update readme
2 years ago
Alessandro Decina
b29a061bce
Initial commit
2 years ago