Tamir Duberstein
6e256fad5b
public-api: bless with new nightly
...
See https://github.com/rust-lang/rust/commit/58a80c85b9323e59e1b7e744d6 .
11 months ago
Tuetuopay
e148ce1af3
tests/xdp: don't leak memory in AF_XDP test
11 months ago
Tuetuopay
aa5ff517e7
tests: add AF_XDP test using xdpilone
11 months ago
Tamir Duberstein
cc29c8a74d
Merge pull request #826 from tamird/lint-nightly
...
aya-bpf-cty: remove empty module
11 months ago
Tamir Duberstein
b65a652991
aya-bpf-cty: remove empty module
...
This triggers the unused import lint after
https://github.com/rust-lang/rust/commit/482275b19422b871b986ec0400257a .
11 months ago
dependabot[bot]
67fe16e723
Merge pull request #825 from aya-rs/dependabot/cargo/async-io-2.0
11 months 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>
11 months ago
dependabot[bot]
666bb8e7cf
Merge pull request #824 from aya-rs/dependabot/cargo/which-5.0.0
11 months ago
dependabot[bot]
3824b3d479
build(deps): update which requirement from 4.4.0 to 5.0.0
...
Updates the requirements on [which](https://github.com/harryfei/which-rs ) to permit the latest version.
- [Changelog](https://github.com/harryfei/which-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/harryfei/which-rs/compare/4.4.0...4.4.2 )
---
updated-dependencies:
- dependency-name: which
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
11 months ago
Tamir Duberstein
847f4105a7
Merge pull request #823 from tamird/clippy
...
aya-bpf-macros: appease clippy
11 months ago
Tamir Duberstein
a31332fb6c
aya-bpf-macros: appease clippy
...
```
warning: accessing first element with `args.args.get(0)`
--> aya-bpf-macros/src/args.rs:71:24
|
71 | if let Some(arg) = args.args.get(0) {
| ^^^^^^^^^^^^^^^^ help: try: `args.args.first()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first
= note: `#[warn(clippy::get_first)]` on by default
```
Appears https://github.com/rust-lang/rust-clippy/commit/31fd282732e15811
has just landed in nightly.
11 months ago
Tamir Duberstein
f037a94c9f
Merge pull request #821 from Tuetuopay/fix-udeps
...
aya: fix unused async-io dependency linter error
11 months ago
Tuetuopay
984c08cbad
aya: fix unused async-io dependency linter error
...
Not using the `dep:` syntax created a Cargo feature flag for async-io,
though this feature alone does nothing without the `async_std` or
`async_tokio` features.
11 months ago
Tamir Duberstein
8154fb79d3
Merge pull request #737 from aya-rs/more-kernels
...
github: run integration tests on local kernel
11 months ago
Tamir Duberstein
fa6f5e2532
github: run integration tests on local kernel
...
This tests on 6.2.0-1012-azure (see
https://github.com/actions/runner-images/releases/tag/ubuntu22%2F20231001.1 ).
11 months ago
Alessandro Decina
35e21ae007
aya: don't parse labels as programs
...
Fixes a bug introduced by https://github.com/aya-rs/aya/pull/413 where
we were generating a bunch of spurious LBB* programs.
11 months ago
Alessandro Decina
d679a973ca
integration-tests: enable logs
...
Use test_log::test so setting RUST_LOG=aya=debug works and it's easier
to debug failures.
11 months ago
Alessandro Decina
2227223a96
aya-log: fix hygiene
...
Before this change we leaked some bindings to the calling scope, so for
instance logging a variable named "len" led to a compile error.
11 months ago
ajwerner
62849944f2
Merge pull request #629 from ajwerner/ringbuf
11 months 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>
11 months ago
William Findlay
4af9d1bd3e
aya: move mmap from perf_buffer.rs to sys/mod.rs
...
mmap() is needed for the ring buffer implementation, so move it to a common module
11 months ago
Andrew Werner
b73c0a46f5
aya: impl From<obj::InvalidMapTypeError> for MapTypeError
11 months ago
Tamir Duberstein
cb455febbb
Merge pull request #814 from tamird/sort-variants-again
...
maps: sort variants
11 months ago
Tamir Duberstein
8462b69716
maps: sort variants
...
Missed in 5e637071c1
due to merge skew
with 7b71c7e1cd
.
12 months ago
Tamir Duberstein
715d49022e
Merge pull request #812 from tamird/redundant-cargo
...
Cargo.toml: remove redundant keys
12 months ago
Tamir Duberstein
ae612a0a10
Merge pull request #813 from tamird/sort-variants
...
maps: sort variants
12 months ago
Tamir Duberstein
b7ceee4f51
Merge pull request #811 from tamird/libc
...
aya: import types from std::ffi rather than libc
12 months ago
Tamir Duberstein
5cdd1baf29
aya: import types from std::ffi rather than libc
12 months ago
Tamir Duberstein
5e637071c1
maps: sort variants
12 months ago
Tamir Duberstein
cc48523347
Cargo.toml: remove redundant keys
...
`default-features = false` is already in the root Cargo.toml.
12 months ago
Andrew Stoycos
ef27bce619
Merge pull request #783 from astoycos/map_pin2
...
aya: Implement dedicated map pinning
12 months ago
astoycos
82039144bd
integration-test: Add map pinning coverage
...
Add coverage to the new public api's for
map pinning (pin and unpin) which can be called
on the generic aya::Map type OR explit map types.
Additionally add coverage for the new libbpf
LIBBPF_PIN_BY_NAME behavior.
Signed-off-by: astoycos <astoycos@redhat.com>
12 months 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>
12 months ago
astoycos
0bf97eba64
aya/maps: fix libbpf_pin_by_name
...
Aligns with libbpf for the special LIBBPF_PIN_BY_NAME
map flag. Specifically if the flag is provided without a pin path
default to "/sys/fs/bpf".
Signed-off-by: astoycos <astoycos@redhat.com>
12 months ago
vadorovsky
66bd85a8de
Merge pull request #806 from vadorovsky/deprecate-syscall-prefix
...
util: Deprecate `syscall_prefix`
12 months ago
Mike Rostecki
bd6ba3ad8b
util: Deprecate `syscall_prefix`
...
Using the prefix only for the host architecture is often not enough,
kernels usually provide symbols for more architectures, which are
used by multilib applications. Handling them might or might not be
necessary depending on the use case. Due to that complexity, we
decided to let the callers to handle prefixes the way they prefer.
12 months ago
Tamir Duberstein
0cd620a9da
Merge pull request #804 from tamird/deflake-xdp
...
integration/xdp: increase timeout to 60 seconds
12 months ago
Tamir Duberstein
81268b7ac1
integration/xdp: increase timeout to 60 seconds
...
There's absolutely no reason to have a short timeout here. This has
resulted in at least one flake:
https://github.com/aya-rs/bpf-linker/actions/runs/6384472390/job/17327196576 .
12 months ago
Tamir Duberstein
062ebfdc68
integration/xdp: use kernel-allocated port
12 months ago
Tamir Duberstein
64d9799efc
integration/xdp: reduce repetition
12 months ago
ajwerner
c547dd7bcc
Merge pull request #800 from ajwerner/deflake-loaded-at-take-2
...
integration-test: deflake test_loaded_at
12 months ago
Andrew Werner
da832e479d
integration-test: deflake test_loaded_at
...
The test could fail due to the lack of clock monotonicity. This PR
deflakes the test by adding retries.
See
https://github.com/aya-rs/aya/actions/runs/6340369670/job/17221591723 .
12 months ago
Tamir Duberstein
4bb52ad34c
Merge pull request #801 from aya-rs/kill-kernel-on-soft-lockup
...
xtask: terminate QEMU on "BUG: soft lockup"
12 months 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.
12 months ago
Tamir Duberstein
373fb7bf06
Merge pull request #797 from aya-rs/rustfmt-group-imports
...
rustfmt: group_imports = "StdExternalCrate"
12 months ago
Tamir Duberstein
d16e607fd4
rustfmt: group_imports = "StdExternalCrate"
...
High time we stop debating this; let the robots do the work.
12 months ago
Tamir Duberstein
67863833ca
Merge pull request #791 from nrxus/fix-kernel-code-on-submode-gt-255
...
aya: Fix program loading on kernels with a patch > 255
12 months ago
Tamir Duberstein
9eb0419baa
Merge pull request #796 from aya-rs/integration-ebpf-bpf-arch
...
integration-test: fix when host != target
12 months ago
Tamir Duberstein
15de14383d
integration-test: build eBPF for the proper arch
...
Prior to this change we neglected to build integration-ebpf for the
correct target architecture, resulting in test failures on arm64.
12 months ago
Tamir Duberstein
ad460879ef
integration-test: replace macro with function
...
There's just no need for a macro here.
12 months ago