Commit Graph

662 Commits (555833a79a67ae26132db7804a2fc0c73a18577c)
 

Author SHA1 Message Date
Dave Tucker 88834c497d ci: Skip riscv64 for bpf
There is a missing pt_regs implementation in args.rs

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Tatsuyuki Ishi e852f7e0cc test: Update to use non-mut map types
Tatsuyuki Ishi 41c6b56142 bpf: Replace map types to use &self, remove HashMap::get_mut
The bpf_map_defs are now wrapped with UnsafeCell, which also happens to
provide a cozy way to get a *mut pointer. An UnsafeCell isn't strictly
required as the struct fields are practically opaque to us, but using an
UnsafeCell follows the general best practices against miscompilation and
also prevents some obvious errors.

HashMap::get_mut was removed because the idea is completely unsound.
Previous users should wrap their data with UnsafeCell instead or use
atomics.

Closes: https://github.com/aya-rs/aya/issues/233
Dave Tucker 218d4842d6 bpf: Be consistent with arm target_arch
This is `arm` in bindings but `armv7` in args.
Let's use `arm`

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker 7f6da53c34 bpf: Fix pt_regs for aarch64 (again)
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker 1d06b41e57 ci: Test all architectures
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker ef3b029d26
Merge pull request from dave-tucker/bpf-regs-bug
bpf: Fix aarch64 access to regs
Dave Tucker 7e828df1c9 bpf: Fix aarch64 access to regs
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Davide Bertola cda9ab4f66 upgrade from structopt to clap 3
Davide Bertola 68bc11e42c
aya-gen cli rework ()
* update aya-gen from structopt to clap 3

* aya-gen: add --header option

* aya-gen: run bindgen as a child process

* aya-gen: add support for passing additional bindgen args
dependabot[bot] ddf26300c8 build(deps): update bindgen requirement from 0.59 to 0.60
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/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/rust-bindgen/compare/v0.59.0...v0.60.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
Dave Tucker 0cd1e51476 aya: Unload programs on drop
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Alessandro Decina d85b36f6d8 (cargo-release) version 0.11.0
Dave Tucker 4ae5bc4b9b
Merge pull request from dave-tucker/take_link
aya: Rename forget_link to take_link
Dave Tucker b2a6f00212 aya: Rename forget_link to take_link
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker 79e06f2644
Merge pull request from aya-rs/revert-298-fix-docs
Revert "docs: Merge search indexes"
crabby-the-crab de4e97aa51
Revert "docs: Merge search indexes"
Dave Tucker f275ce0274
Merge pull request from dave-tucker/fix-docs
docs: Merge search indexes
Dave Tucker a00d16dc0e docs: Merge search indexes
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker de8ab7f415
Merge pull request from aya-rs/codegen
Update libbpf to 4eb6485c08867edaa5a0a81c64ddb23580420340
dave-tucker bbb34b3285 [codegen] Update libbpf to 4eb6485c08867edaa5a0a81c64ddb23580420340Update libbpf to 4eb6485c08867edaa5a0a81c64ddb23580420340
Files changed:\nM	aya/src/generated/linux_bindings_aarch64.rs
M	aya/src/generated/linux_bindings_armv7.rs
M	aya/src/generated/linux_bindings_riscv64.rs
M	aya/src/generated/linux_bindings_x86_64.rs
Dave Tucker 934da6e851
Merge pull request from ishitatsuyuki/ringbuf-codegen
Codegen changes for RingBuf
William Findlay 777e6a2a5d xtask/codegen: generate bindings for BPF_RINGBUF types
Davide Bertola e2685c98d8
Program unload API ()
aya: add `program.unload()` API
Alessandro Decina 6b1f47323b
Merge pull request from dave-tucker/getters-be-gone
Getters be gone
Alessandro Decina 16337001e4
Merge pull request from nak3/add-BPF_MAP_TYPE_BLOOM_FILTER
Add support for BPF_MAP_TYPE_BLOOM_FILTER
Kenjiro Nakayama c192817a59 Fix typo, take & to query the value
Kenjiro Nakayama c5d5695a71 Add missing BPF_MAP_TYPE_STACK in BPF code
Currently BPF_MAP_TYPE_STACK is supported by user code (`aya/src/maps/stack.rs`),
but it does not support the BPF_MAP_TYPE_STACK BPF code.

This patch fixes it.
Dave Tucker 8672ff6c56 bpf: Remove generated getters
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker 9a33b6b654 aya-gen: Remove getters
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker a0473548ca
Merge pull request from dave-tucker/sklookup
Add support for BPF_PROG_TYPE_SK_LOOKUP
Dave Tucker 74704c3b28 bpf: Support BPF_PROG_TYPE_SK_LOOKUP
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker 2226b89ceb aya: Add support for BPF_PROG_TYPE_SK_LOOKUP
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Kenjiro Nakayama c4262f793d Add support for BPF_MAP_TYPE_BLOOM_FILTER
This patch adds support for `BPF_MAP_TYPE_BLOOM_FILTER`.
Dave Tucker 4acd996cb8 bpf: Add PtRegs wrapper
This adds a portable wrapper around pt_regs and user_pt_regs.
It makes writing Raw Tracepoint or KProbe programs easier when the
arguments are one of these types while also ensuring code is portable
across architectures

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker 7d8365c351
Merge pull request from dave-tucker/export
aya: Export program modules
Dave Tucker 824baf9d64 aya: Export program modules
This allows access to XdpLink, XdpLinkId etc... which is currently
unavailable since these modules are private

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker c385d1881b
Merge pull request from krsh/riscv64-arch
Add riscv64 bindings
gianluigi a9c0fccb2e Add riscv64 bindings
Dave Tucker de1559ab77
Merge pull request from aya-rs/codegen
Update libbpf to 47595c2f08aece55baaf21ed0b72f5c5abf2cb5e
dave-tucker 4767664d5d [codegen] Update libbpf to 47595c2f08aece55baaf21ed0b72f5c5abf2cb5eUpdate libbpf to 47595c2f08aece55baaf21ed0b72f5c5abf2cb5e
Files changed:\nM	aya/src/generated/linux_bindings_riscv64.rs
M	bpf/aya-bpf-bindings/src/riscv64/bindings.rs
M	bpf/aya-bpf-bindings/src/riscv64/getters.rs
M	bpf/aya-bpf-bindings/src/riscv64/helpers.rs
Dave Tucker ce7a8b7dc1
.github: gen - add rustfmt to toolchain
Dave Tucker b71fe64a10
Merge pull request from dave-tucker/riscv
riscv scaffolding for codegen
Dave Tucker 8b7950bb0f .github: use nightly for codegen
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker edaa70b5ba riscv scaffolding for codegen
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Dave Tucker 3acd8d3650
Merge pull request from krsh/riscv64-arch
Add riscv64 architecture support to xtask/codegen
gianluigi d35680f30c Add riscv64 architecture support to xtask/codegen
Dave Tucker 0d7fb4472d
Merge pull request from dave-tucker/clippy
clippy: fix new lints on nightly
Dave Tucker 4a32e7d985 clippy: fix new lints on nightly
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
Michal Rostecki 3262f85925 bpf(doc): Hide docs of bindings
Before this change, documentation of helper functions (defined by us,
not bindings) were not visible, because `use gen::*` was overriding them
with helpers coming from aya-bpf-bindings, which have the same names and
no docs.

Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>