Commit Graph

37 Commits (d30ff102b012e8b10e056217ce68562434c3cddb)
 

Author SHA1 Message Date
Alessandro Decina d30ff102b0
Merge pull request #8 from aya-rs/dependabot/cargo/aya-0.11.0
Update aya requirement from 0.10.7 to 0.11.0
3 years ago
dependabot[bot] 6a5d372e2f
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>
3 years ago
Alessandro Decina b9cc951613
Merge pull request #7 from dave-tucker/main
Add Unit Tests, CI, Dependabot and Linting
3 years ago
Dave Tucker 302573d738 Add CI
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker 351fa6a66e Add vim/vscode rust-analyzer settings
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker f1c71916f7 Add rustfmt.toml
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker 516121a462 ebpf: Add example
This ensures that macro expansion works properly and that expanded code
compiles

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker 0c25d8655e 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>
3 years ago
Alessandro Decina edc8395fb2
Merge pull request #6 from vadorovsky/buffer-bounds
ebpf: Ensure the bounds of log buffer
3 years ago
Michal Rostecki 9be90f8a74 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>
3 years ago
Michal Rostecki 808575bf56 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>
3 years ago
Alessandro Decina 4c7e641987 aya-log, aya-log-common: start next development iteration 0.1.10-dev.0 3 years ago
Alessandro Decina 209d4534de aya-log, aya-log-common: release version 0.1.9 3 years ago
Alessandro Decina 19ebceaab8 Add cargo-release config 3 years ago
Alessandro Decina 4a27a60bfd xtask: do not release 3 years ago
Alessandro Decina 2d701bea33 aya-log: use stricter version for the aya-log-common dep 3 years ago
Alessandro Decina 223e2f4ea1 ebpf: inline write_record_header
This seems to help the verifier keep track of where we're writing into
LOG_BUF
3 years ago
Alessandro Decina d631687e4a
Merge pull request #5 from vadorovsky/fmt-userspace
Format arguments in userspace
3 years ago
Michal Rostecki e89ce9a873 Update aya to 0.10.7
Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
3 years ago
Michal Rostecki ec31526de1 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>
3 years ago
Alessandro Decina 5aa5eb5b76 Don't recompute the record length 4 years ago
Alessandro Decina 00e6d39b13 ebpf: initialize AYA_LOGS with max_entries=0
This way aya will create one perf buffer for each cpu
4 years ago
Alessandro Decina cad8d63aa5 Fix clippy warning 4 years ago
Alessandro Decina db0c543c82 Add copy of README.md inside aya-log/
Needed for crates.io
4 years ago
Alessandro Decina 67908b6f55 Add missing manifest fields 4 years ago
Alessandro Decina a4b8934ce1 (cargo-release) version 0.1.1 4 years ago
Alessandro Decina 1a5f003b2c (cargo-release) version 0.1.1 4 years ago
Alessandro Decina 0ca22d0e32 git add .cargo and xtask 4 years ago
Alessandro Decina 154d886a76 Update to aya 0.10.5 4 years ago
Alessandro Decina d33e0b3d42 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.
4 years ago
Alessandro Decina 897c94d5b8 Minor tweaks to make the verifier's job easier 4 years ago
Alessandro Decina ac5a2d5dbb Switch to aya-ufmt 4 years ago
Alessandro Decina 54e23141bd Use aya_bpf::maps::PerfEventByteArray to output logs 4 years ago
Alessandro Decina 069013ddc9 Use aya_log_ebpf::ufmt instead of ::ufmt 4 years ago
Alessandro Decina 9205986050 Add ufmt to readme 4 years ago
Alessandro Decina f5d047b3ab Update readme 4 years ago
Alessandro Decina 301092ac2e Initial commit 4 years ago