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.
1 year ago
Tamir Duberstein
f037a94c9f
Merge pull request #821 from Tuetuopay/fix-udeps
...
aya: fix unused async-io dependency linter error
1 year 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.
1 year ago
Tamir Duberstein
8154fb79d3
Merge pull request #737 from aya-rs/more-kernels
...
github: run integration tests on local kernel
1 year 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 ).
1 year 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.
1 year 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.
1 year 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.
1 year ago
ajwerner
62849944f2
Merge pull request #629 from ajwerner/ringbuf
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
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
1 year ago
Andrew Werner
b73c0a46f5
aya: impl From<obj::InvalidMapTypeError> for MapTypeError
1 year ago
Tamir Duberstein
cb455febbb
Merge pull request #814 from tamird/sort-variants-again
...
maps: sort variants
1 year ago
Tamir Duberstein
8462b69716
maps: sort variants
...
Missed in 5e637071c1
due to merge skew
with 7b71c7e1cd
.
1 year ago
Tamir Duberstein
715d49022e
Merge pull request #812 from tamird/redundant-cargo
...
Cargo.toml: remove redundant keys
1 year ago
Tamir Duberstein
ae612a0a10
Merge pull request #813 from tamird/sort-variants
...
maps: sort variants
1 year ago
Tamir Duberstein
b7ceee4f51
Merge pull request #811 from tamird/libc
...
aya: import types from std::ffi rather than libc
1 year ago
Tamir Duberstein
5cdd1baf29
aya: import types from std::ffi rather than libc
1 year ago
Tamir Duberstein
5e637071c1
maps: sort variants
1 year ago
Tamir Duberstein
cc48523347
Cargo.toml: remove redundant keys
...
`default-features = false` is already in the root Cargo.toml.
1 year ago
Andrew Stoycos
ef27bce619
Merge pull request #783 from astoycos/map_pin2
...
aya: Implement dedicated map pinning
1 year 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>
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
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>
1 year ago
vadorovsky
66bd85a8de
Merge pull request #806 from vadorovsky/deprecate-syscall-prefix
...
util: Deprecate `syscall_prefix`
1 year 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.
1 year ago
Tamir Duberstein
0cd620a9da
Merge pull request #804 from tamird/deflake-xdp
...
integration/xdp: increase timeout to 60 seconds
1 year 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 .
1 year ago
Tamir Duberstein
062ebfdc68
integration/xdp: use kernel-allocated port
1 year ago
Tamir Duberstein
64d9799efc
integration/xdp: reduce repetition
1 year ago
ajwerner
c547dd7bcc
Merge pull request #800 from ajwerner/deflake-loaded-at-take-2
...
integration-test: deflake test_loaded_at
1 year 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 .
1 year ago
Tamir Duberstein
4bb52ad34c
Merge pull request #801 from aya-rs/kill-kernel-on-soft-lockup
...
xtask: terminate QEMU on "BUG: soft lockup"
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
373fb7bf06
Merge pull request #797 from aya-rs/rustfmt-group-imports
...
rustfmt: group_imports = "StdExternalCrate"
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
67863833ca
Merge pull request #791 from nrxus/fix-kernel-code-on-submode-gt-255
...
aya: Fix program loading on kernels with a patch > 255
1 year ago
Tamir Duberstein
9eb0419baa
Merge pull request #796 from aya-rs/integration-ebpf-bpf-arch
...
integration-test: fix when host != target
1 year 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.
1 year ago
Tamir Duberstein
ad460879ef
integration-test: replace macro with function
...
There's just no need for a macro here.
1 year ago
Tamir Duberstein
8cee3f8b01
integration-test: distinguish between success and noop
...
These tests previously produced the same result on certain failures as
they did on success.
1 year ago
Andrés Medina
0a6a2674fa
aya: Fix program loading on kernels with a patch > 255
1 year ago
Tamir Duberstein
2f9c67c735
Merge pull request #795 from aya-rs/clippy
...
appease clippy
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
Tamir Duberstein
6720e127b6
Merge pull request #794 from aya-rs/fix-ci
...
Remove 6.4.x kernels from CI
1 year ago
Tamir Duberstein
f01845a379
.github: run tests nightly
...
This should help us catch breakages more quickly.
1 year ago
Tamir Duberstein
6190696346
.github: remove 6.4.x kernel tests
...
These images keep getting pulled, better to get off the treadmill.
1 year ago
dependabot[bot]
8ae5b0d967
Merge pull request #793 from aya-rs/dependabot/cargo/dialoguer-0.11
1 year ago
dependabot[bot]
9680f50c08
build(deps): update dialoguer requirement from 0.10 to 0.11
...
Updates the requirements on [dialoguer](https://github.com/console-rs/dialoguer ) to permit the latest version.
- [Changelog](https://github.com/console-rs/dialoguer/blob/master/CHANGELOG.md )
- [Commits](https://github.com/console-rs/dialoguer/compare/v0.10.0...v0.10.4 )
---
updated-dependencies:
- dependency-name: dialoguer
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
1 year ago