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
2 years ago
Dave Tucker
ef3b029d26
Merge pull request #309 from dave-tucker/bpf-regs-bug
...
bpf: Fix aarch64 access to regs
2 years ago
Dave Tucker
7e828df1c9
bpf: Fix aarch64 access to regs
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Davide Bertola
cda9ab4f66
upgrade from structopt to clap 3
2 years ago
Davide Bertola
68bc11e42c
aya-gen cli rework ( #297 )
...
* 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
2 years ago
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>
2 years ago
Dave Tucker
0cd1e51476
aya: Unload programs on drop
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Alessandro Decina
d85b36f6d8
(cargo-release) version 0.11.0
2 years ago
Dave Tucker
4ae5bc4b9b
Merge pull request #306 from dave-tucker/take_link
...
aya: Rename forget_link to take_link
2 years ago
Dave Tucker
b2a6f00212
aya: Rename forget_link to take_link
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
79e06f2644
Merge pull request #299 from aya-rs/revert-298-fix-docs
...
Revert "docs: Merge search indexes"
2 years ago
crabby-the-crab
de4e97aa51
Revert "docs: Merge search indexes"
2 years ago
Dave Tucker
f275ce0274
Merge pull request #298 from dave-tucker/fix-docs
...
docs: Merge search indexes
2 years ago
Dave Tucker
a00d16dc0e
docs: Merge search indexes
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
de8ab7f415
Merge pull request #296 from aya-rs/codegen
...
Update libbpf to 4eb6485c08867edaa5a0a81c64ddb23580420340
2 years ago
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
2 years ago
Dave Tucker
934da6e851
Merge pull request #295 from ishitatsuyuki/ringbuf-codegen
...
Codegen changes for RingBuf
2 years ago
William Findlay
777e6a2a5d
xtask/codegen: generate bindings for BPF_RINGBUF types
2 years ago
Davide Bertola
e2685c98d8
Program unload API ( #264 )
...
aya: add `program.unload()` API
2 years ago
Alessandro Decina
6b1f47323b
Merge pull request #293 from dave-tucker/getters-be-gone
...
Getters be gone
2 years ago
Alessandro Decina
16337001e4
Merge pull request #286 from nak3/add-BPF_MAP_TYPE_BLOOM_FILTER
...
Add support for BPF_MAP_TYPE_BLOOM_FILTER
2 years ago
Kenjiro Nakayama
c192817a59
Fix typo, take & to query the value
2 years ago
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.
2 years ago
Dave Tucker
8672ff6c56
bpf: Remove generated getters
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
9a33b6b654
aya-gen: Remove getters
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
a0473548ca
Merge pull request #265 from dave-tucker/sklookup
...
Add support for BPF_PROG_TYPE_SK_LOOKUP
2 years ago
Dave Tucker
74704c3b28
bpf: Support BPF_PROG_TYPE_SK_LOOKUP
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
2226b89ceb
aya: Add support for BPF_PROG_TYPE_SK_LOOKUP
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Kenjiro Nakayama
c4262f793d
Add support for BPF_MAP_TYPE_BLOOM_FILTER
...
This patch adds support for `BPF_MAP_TYPE_BLOOM_FILTER`.
2 years ago
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>
2 years ago
Dave Tucker
7d8365c351
Merge pull request #281 from dave-tucker/export
...
aya: Export program modules
3 years ago
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>
3 years ago
Dave Tucker
c385d1881b
Merge pull request #280 from krsh/riscv64-arch
...
Add riscv64 bindings
3 years ago
gianluigi
a9c0fccb2e
Add riscv64 bindings
3 years ago
Dave Tucker
de1559ab77
Merge pull request #279 from aya-rs/codegen
...
Update libbpf to 47595c2f08aece55baaf21ed0b72f5c5abf2cb5e
3 years ago
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
3 years ago
Dave Tucker
ce7a8b7dc1
.github: gen - add rustfmt to toolchain
3 years ago
Dave Tucker
b71fe64a10
Merge pull request #278 from dave-tucker/riscv
...
riscv scaffolding for codegen
3 years ago
Dave Tucker
8b7950bb0f
.github: use nightly for codegen
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker
edaa70b5ba
riscv scaffolding for codegen
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker
3acd8d3650
Merge pull request #275 from krsh/riscv64-arch
...
Add riscv64 architecture support to xtask/codegen
3 years ago
gianluigi
d35680f30c
Add riscv64 architecture support to xtask/codegen
3 years ago
Dave Tucker
0d7fb4472d
Merge pull request #276 from dave-tucker/clippy
...
clippy: fix new lints on nightly
3 years ago
Dave Tucker
4a32e7d985
clippy: fix new lints on nightly
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
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>
3 years ago
Amos Wenger
a1e7b58d7c
Don't use #[no_mangle] (clashes with `#[export_name]`)
...
This closes #270 .
With this, the symbol name is correct in the intermediate LLVM bitcode
object file (`.rcgu.o`) and in the final BPF program.
3 years ago
Dave Tucker
9904237ac1
Merge pull request #273 from dave-tucker/fix_sidebar
...
xtask: Add all crates to sidebar
3 years ago
Dave Tucker
ba312c48d5
xtask: Add all crates to sidebar
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Kenjiro Nakayama
e68d734c68
Add support for BPF_PROG_TYPE_CGROUP_SOCKOPT ( #268 )
3 years ago
Alessandro Decina
63b6286bd9
Merge pull request #263 from nak3/cgroup-skb-attach-type
...
Set attach type during load for BPF_PROG_TYPE_CGROUP_SKB
3 years ago