tyrone-wu
1cf3d3c222
public-api: added new api for RetProbeContext
7 months ago
Tamir Duberstein
b21f2a1945
Mark aya-tool publish=false
...
This is for internal use, get it off the API treadmill.
7 months ago
Tamir Duberstein
73751fb878
public-api: regenerate
...
See https://github.com/rayon-rs/either/pull/101 .
7 months ago
Tamir Duberstein
80920ddf3f
public-api: regenerate
...
This is roughly a revert of af1a9b39112a8341ef049c8697bed3350e76f2f1;
see https://github.com/rust-lang/rust/pull/123638 .
7 months ago
Kevin Ji
df9fe94216
xtask: Bless public-api changes
7 months ago
Kevin Ji
b06ff40278
xtask: Generate new bindings
7 months ago
Tamir Duberstein
af1a9b3911
public-api: regenerate
...
Auto trait bounds have changed in one of:
- https://github.com/rust-lang/rust/pull/123340 .
- https://github.com/rust-lang/rust/pull/123375 .
7 months ago
tyrone-wu
b23973dd9c
xtask: corrected bpf to ebpf for path to aya-ebpf-bindings in codegen
...
Currently, when running `cargo +nightly xtask codegen` locally and in
the codegen GHA workflow, an error occurs with only "Error: bindgen
failed" displayed.
This was due to a path using "bpf/..." instead of "ebpf/...". It is now
corrected to "ebpf", and bindgen fails should now display a more direct
message on why it failed.
Fixes : #914
7 months ago
Tamir Duberstein
0a32dacd2f
Appease clippy
...
```
error: unnecessary structure name repetition
--> aya/src/bpf.rs:198:57
|
198 | pub fn btf(&mut self, btf: Option<&'a Btf>) -> &mut EbpfLoader<'a> {
| ^^^^^^^^^^^^^^ help: use the applicable keyword: `Self`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#use_self
note: the lint level is defined here
--> aya/src/lib.rs:42:5
|
42 | clippy::use_self,
| ^^^^^^^^^^^^^^^^
error: unnecessary structure name repetition
--> aya/src/bpf.rs:222:54
|
222 | pub fn allow_unsupported_maps(&mut self) -> &mut EbpfLoader<'a> {
| ^^^^^^^^^^^^^^ help: use the applicable keyword: `Self`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#use_self
error: unnecessary structure name repetition
--> aya/src/bpf.rs:243:69
|
243 | pub fn map_pin_path<P: AsRef<Path>>(&mut self, path: P) -> &mut EbpfLoader<'a> {
| ^^^^^^^^^^^^^^ help: use the applicable keyword: `Self`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#use_self
error: unnecessary structure name repetition
--> aya/src/bpf.rs:292:15
|
292 | ) -> &mut EbpfLoader<'a> {
| ^^^^^^^^^^^^^^ help: use the applicable keyword: `Self`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#use_self
error: unnecessary structure name repetition
--> aya/src/bpf.rs:313:73
|
313 | pub fn set_max_entries(&mut self, name: &'a str, size: u32) -> &mut EbpfLoader<'a> {
| ^^^^^^^^^^^^^^ help: use the applicable keyword: `Self`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#use_self
error: unnecessary structure name repetition
--> aya/src/bpf.rs:335:56
|
335 | pub fn extension(&mut self, name: &'a str) -> &mut EbpfLoader<'a> {
| ^^^^^^^^^^^^^^ help: use the applicable keyword: `Self`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#use_self
error: unnecessary structure name repetition
--> aya/src/bpf.rs:353:75
|
353 | pub fn verifier_log_level(&mut self, level: VerifierLogLevel) -> &mut EbpfLoader<'a> {
| ^^^^^^^^^^^^^^ help: use the applicable keyword: `Self`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#use_self
```
See https://github.com/rust-lang/rust-clippy/pull/12386 .
8 months ago
Tamir Duberstein
c302f8370d
public-api: regenerate
...
Nightly now exposes `core::marker::Freeze`.
https://github.com/rust-lang/rust/pull/121840
8 months ago
Dave Tucker
715e62dd38
chore(aya): Bless public API
...
Bless the BpfError type alias
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
8 months ago
Dave Tucker
d0c244356f
chore: Bless public API changes
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
8 months ago
Dave Tucker
41c61560ea
chore(aya-ebpf): Rename bpf -> ebpf
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
8 months ago
Dave Tucker
70ac91dc1e
chore(aya-ebpf-bindings): Rename bpf -> ebpf
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
8 months ago
Dave Tucker
21f570a19c
chore(aya-ebpf-cty): Rename bpf -> ebpf
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
8 months ago
Gary Guo
542306d295
Add `CgroupDevice::query`
...
This follows closely the existing `LircMode2::query`.
8 months ago
Dave Tucker
13b1fc63ef
chore: Don't use path deps in workspace
...
This moves the path dependencies back into the per-crate Cargo.toml.
It is required such that the release tooling can correctly calculate
which version constraints require changing when we perform a release.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
9 months ago
Dave Tucker
b3e7ef741c
chore: Use the cargo workspace package table
...
This allows for inheritance of common fields from the workspace root.
The following fields have been made common:
- authors
- license
- repository
- homepage
- edition
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
9 months ago
Dave Tucker
0c58bb66b6
integration-test: Fix build.rs output
...
The cargo::warning seems to ignore output after a newline.
Iterate over the entire rendered message and print it line-by-line.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
9 months ago
Alessandro Decina
f491f56204
aya: bless API
9 months ago
Alessandro Decina
0f6a734392
aya: perf_event: add inherit argument to attach()
10 months ago
Alessandro Decina
92b1947885
aya: add StackTraceMap::remove()
10 months ago
Tamir Duberstein
057f27dc20
public-api: regenerate
...
StructuralEq has been removed.
See 0df7810734
.
10 months ago
Tamir Duberstein
1edd42aa0a
public-api: regenerate
...
`Send + Sync` became `Sync + Send` for reasons I don't understand.
10 months ago
Alessandro Decina
e1aefa4e87
aya: bless API change
10 months ago
Tamir Duberstein
1e99ac9323
Merge pull request #853 from tamird/public-api-mac
...
xtask: allow public-api regen on aarch64-apple-darwin
11 months ago
dependabot[bot]
b3ec33e763
build(deps): update public-api requirement from 0.32.0 to 0.33.1
...
Updates the requirements on [public-api](https://github.com/Enselic/cargo-public-api ) to permit the latest version.
- [Release notes](https://github.com/Enselic/cargo-public-api/releases )
- [Changelog](https://github.com/Enselic/cargo-public-api/blob/main/rustdoc-json/CHANGELOG.md )
- [Commits](https://github.com/Enselic/cargo-public-api/compare/v0.32.0...v0.32.0 )
---
updated-dependencies:
- dependency-name: public-api
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
11 months ago
Tamir Duberstein
5041aa41de
xtask: allow public-api regen on aarch64-apple-darwin
...
```
CARGO_CFG_BPF_TARGET_ARCH=x86_64 cargo +nightly xtask public-api --bless --target x86_64-unknown-linux-gnu
```
11 months ago
Tamir Duberstein
7a4c6153a0
xtask: terminate QEMU on "RCU grace-period kthread stack dump"
...
See
https://github.com/aya-rs/bpf-linker/actions/runs/7067897954/job/19241830198
11 months ago
astoycos
b1769678f4
aya/maps: pin for (async)perf_event_array
...
Implement pinning for perf_event_array and async_perf_event_array.
Additionally make the core MapData.pin method operate on a reference
rather than a mutable reference.
Signed-off-by: astoycos <astoycos@redhat.com>
12 months ago
Andrew Werner
c06fcc3eda
maps/ringbuf: make RingBuf: Send + Sync
...
There was no reason for them not to be -- the APIs all require mutable
references and hold onto mutable references, so there cannot be internal
concurrency. The !Send + !Sync came from the MMap, but not for any good
reason.
12 months ago
Adam Preuss
4d24d1cfe8
aya: add MapInfo struct following the same pattern as ProgramInfo
...
This makes the APIs for loading maps and programs more similar.
12 months ago
Adam Preuss
36420d9297
aya: support loading a map by fd
...
This adds support to loading maps by fd similarly to the way programs
can be loaded by fd.
12 months ago
Andrés Medina
68ba02002f
aya: make KernelVersion::code public
12 months ago
Tamir Duberstein
42cc175aeb
xtask: attempt to open /dev/kvm
...
We're seeing test failures where KVM is present but we aren't able to use it.
See https://github.com/actions/runner-images/issues/7670#issuecomment-1760184162 .
1 year ago
Tamir Duberstein
6e256fad5b
public-api: bless with new nightly
...
See https://github.com/rust-lang/rust/commit/58a80c85b9323e59e1b7e744d6 .
1 year ago
dependabot[bot]
c89b2d156d
build(deps): update async-io requirement from 1.3 to 2.0
...
Updates the requirements on [async-io](https://github.com/smol-rs/async-io ) to permit the latest version.
- [Release notes](https://github.com/smol-rs/async-io/releases )
- [Changelog](https://github.com/smol-rs/async-io/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-io/compare/v1.3.0...v1.13.0 )
---
updated-dependencies:
- dependency-name: async-io
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
Andrew Werner
e2cf734490
aya: Implement RingBuf
...
This implements the userspace binding for RingBuf.
Instead of streaming the samples as heap buffers, the process_ring
function takes a callback to which we pass the event's byte region,
roughly following [libbpf]'s API design. This avoids a copy and allows
marking the consumer pointer in a timely manner.
[libbpf]: https://github.com/libbpf/libbpf/blob/master/src/ringbuf.c
Additionally, integration tests are added to demonstrate the usage
of the new APIs and to ensure that they work end-to-end.
Co-authored-by: William Findlay <william@williamfindlay.com>
Co-authored-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
1 year ago
Andrew Werner
b73c0a46f5
aya: impl From<obj::InvalidMapTypeError> for MapTypeError
1 year ago
Tamir Duberstein
5cdd1baf29
aya: import types from std::ffi rather than libc
1 year ago
astoycos
7b71c7e1cd
aya/maps: add pin() api
...
- Adds new `maps_mut()` API to the BpfManager to allow us to iterate though
and pin all of maps at the same time.
- Adds new pin(Path)/unpin(Path) api to Maps so they
can be generically pinned AFTER load.
- Adds macro for pinning explicit map types in aya.
Convert all explicit map types "inner" field to be
pub crate in order to facilitate this.
Signed-off-by: astoycos <astoycos@redhat.com>
1 year ago
Tamir Duberstein
5392f9821d
xtask: terminate QEMU on "BUG: soft lockup"
...
See
https://github.com/aya-rs/aya/actions/runs/6329828507/job/17190931752 .
Unlike on kernel panic this message prints periodically so it is
permitted to print twice before QEMU is killed.
1 year ago
Tamir Duberstein
d16e607fd4
rustfmt: group_imports = "StdExternalCrate"
...
High time we stop debating this; let the robots do the work.
1 year ago
Tamir Duberstein
fe13b2eb41
xtask: remove useless copy
...
/tmp/initrd.img is unused.
1 year ago
Tamir Duberstein
cbe9cd9133
xtask: appease new clippy warning
...
```
warning: unnecessary hashes around raw string literal
--> xtask/src/docs.rs:70:17
|
70 | indoc! {r#"
| _________________^
71 | | User-Agent:*
72 | | Disallow: /
73 | | "#},
| |______^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_raw_string_hashes
= note: `#[warn(clippy::needless_raw_string_hashes)]` on by default
help: remove all the hashes around the literal
|
70 ~ indoc! {r"
71 | User-Agent:*
72 | Disallow: /
73 ~ "},
|
```
This false negative was fixed in
https://github.com/rust-lang/rust-clippy/pull/11518 (the title
incorrectly says false positive).
1 year ago
Tuetuopay
0edc13b4d4
bpf: add a shared try_redirect_map function for XDP maps
1 year ago
Tuetuopay
579e3cee22
aya, bpf: misc fixes following review comments
1 year ago
Tuetuopay
46551de3e7
xtask: bless public-api
1 year ago
Dave Tucker
42fd82e32b
Merge pull request #790 from dave-tucker/no-map-pinned
1 year ago
Dave Tucker
938f979fe7
aya: Make MapData::pin pub
...
This is to solve a use-case where a user (in this case bpfd) may want
to:
- MapData::from_pin to open a pinned map from bpffs
- MapData::pin to pin that object into another bpffs
Both operations should be easily accomplished without needing to cast
a MapData into a concrete Map type - e.g aya::maps::HashMap.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
1 year ago