Commit Graph

1585 Commits (c31cce4a368ac56b42196604ef110139d28a2f8e)
 

Author SHA1 Message Date
arctic-alpaca c89c95bc0b tests: change AF_XDP test `PacketMap` repr to `C` 10 months ago
dependabot[bot] 60d6a536fa
Merge pull request #842 from aya-rs/dependabot/github_actions/DavidAnson/markdownlint-cli2-action-13 10 months ago
dependabot[bot] bb5023cea5
build(deps): bump DavidAnson/markdownlint-cli2-action from 9 to 13
Bumps [DavidAnson/markdownlint-cli2-action](https://github.com/davidanson/markdownlint-cli2-action) from 9 to 13.
- [Release notes](https://github.com/davidanson/markdownlint-cli2-action/releases)
- [Commits](https://github.com/davidanson/markdownlint-cli2-action/compare/v9...v13)

---
updated-dependencies:
- dependency-name: DavidAnson/markdownlint-cli2-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
10 months ago
lyuts 34ffde48ee tests: update instructions on setting up and running tests
- Update the list of required packages.
- Update the command for executing tests in a VM.
10 months ago
lyuts 8e485bc77a aya-log-parser: add support of :p format 10 months ago
Alessandro Decina cc60ca77b9
Merge pull request #819 from Tuetuopay:test-afxdp
tests: add AF_XDP test using xdpilone
10 months ago
Adam Preuss 15faca8b2e aya: extracting program and map names with the same function 10 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.
10 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.
10 months ago
Andrés Medina 68ba02002f aya: make KernelVersion::code public 10 months ago
Andrew Stoycos 958931efcb
Merge pull request #746 from dave-tucker/markdownlint
.github: Add markdownlint
10 months ago
Dave Tucker 8780a50be1 .github: Add markdownlint
This adds a linter to catch common markdown formatting errors.
The linter used is markdownlint-cli2 which is available on all platforms
and has an associated Github Action to automate these checks in CI.

Configuration is checked in at .markdownlint-cli2.yaml.

You may run the check locally using `markdownlint-cli2`.
Or you may install the extension for VSCode:
DavidAnson.vscode-markdownlint

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
10 months ago
Tamir Duberstein 33b2e45ad3
Merge pull request #834 from aya-rs/better-kvm-check
xtask: attempt to open /dev/kvm
11 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.
11 months ago
dependabot[bot] e68fa14d71
Merge pull request #832 from aya-rs/dependabot/cargo/bindgen-0.69 11 months ago
dependabot[bot] c1b367eb4a
build(deps): update bindgen requirement from 0.68 to 0.69
Updates the requirements on [bindgen](https://github.com/rust-lang/rust-bindgen) to permit the latest version.
- [Release notes](https://github.com/rust-lang/rust-bindgen/releases)
- [Changelog](https://github.com/rust-lang/rust-bindgen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/rust-bindgen/compare/v0.68.0...v0.68.1)

---
updated-dependencies:
- dependency-name: bindgen
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
11 months ago
Tamir Duberstein 8647b9055f
Merge pull request #829 from tamird/bless-api-nightly
public-api: bless with new nightly
11 months ago
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.
11 months ago
Tamir Duberstein 715d49022e
Merge pull request #812 from tamird/redundant-cargo
Cargo.toml: remove redundant keys
11 months ago
Tamir Duberstein ae612a0a10
Merge pull request #813 from tamird/sort-variants
maps: sort variants
11 months ago
Tamir Duberstein b7ceee4f51
Merge pull request #811 from tamird/libc
aya: import types from std::ffi rather than libc
11 months ago
Tamir Duberstein 5cdd1baf29
aya: import types from std::ffi rather than libc 11 months ago
Tamir Duberstein 5e637071c1
maps: sort variants 11 months ago
Tamir Duberstein cc48523347
Cargo.toml: remove redundant keys
`default-features = false` is already in the root Cargo.toml.
11 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