Dave Tucker
9e85b92323
aya: Add Extension::attach_to_program()
...
This allows for Extension programs already loaded to the kernel to be
attached to another program that is BTF-compatible with the one provided
at `load()` time
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
b4413322e3
aya: Replace ProgramFd trait with struct
...
This removes the ProgramFd trait with a struct that wraps a RawFd.
Program::fd() has been implemented as well as fd() for each Program
Type. This allows for a better API than requiring the use of the
ProgramFd trait.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
fd52bfeadc
aya: Implement attach_to_link for XDP
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
ccb189784f
aya: Add support for bpf_link_update
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Andrew Burkett
36edf09254
Have bpf_map_update_elem take Option<&K> for key
...
bpf_map_update_elem is used in lieu of bpf_map_push_elem to maintain support for kernel version < 4.20. The kernel expects a null pointer for the key for this use case. With this change, if you pass None as key to `bpf_map_update_elem`, it will pass null as key.
2 years ago
Alessandro Decina
150dc1b610
Merge pull request #326 from NoneTirex/fix-map-delete-return-value
...
Change condititon for some bpf helpers
2 years ago
tirex
caa66cabac
Add missing inline macro to xdp methods
2 years ago
tirex
741c35f555
Restore previous check for bpf_get_stackid
2 years ago
tirex
42c4d5c3af
Temporary change return value condition to avoid problems with possibly (not aware) cast from int to long
2 years ago
tirex
5b1a3ed866
Fix return value for map removing/deleting
2 years ago
Dave Tucker
623579a47f
aya: Add Map::fd() function to return a MapFd
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
24597b15b7
Merge pull request #321 from davibe/fix-linting-issues
...
Fix linting issues
2 years ago
Davide Bertola
7f33d67e8c
xtask: fix linting warnings on docs()
2 years ago
Davide Bertola
2680693783
xtask: fix lint errors due to clap changes
2 years ago
Davide Bertola
cbf520934a
aya-gen: fix lint errors
2 years ago
Dave Tucker
ed3b690a6d
Merge pull request #320 from dave-tucker/moar-crabby-docs
...
Fix development docs build
2 years ago
Dave Tucker
2b98259be7
readme: Add crabby, sync with aya/README.md
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
67951cd2d7
xtask: Fix docs generation
...
Publish user/kernel space docs seperately.
Add an index.html at the root for navigation.
Ensure that search engines don't index these pages.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
713cd4e858
docs: Add crabby logo
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Davide Bertola
4f13576594
aya-gen: allow passing custom --ctypes-prefix to bindgen ( #312 )
...
Allows users to pass a custom --ctypes-prefix to bindgen #186
2 years ago
Alessandro Decina
7549eb979c
Merge pull request #315 from dave-tucker/sock
...
Add support for BPF_PROG_TYPE_CGROUP_SOCK
2 years ago
Dave Tucker
0786afa9ca
Merge pull request #319 from dave-tucker/moar-regs
...
bpf: bpf_probe_read_kernel fields in pt_regs
2 years ago
Dave Tucker
cf3c8f355e
ci: test aya-bpf-macros on nightly
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
05c1586202
bpf: bpf_probe_read_kernel fields in pt_regs
...
As it turns out, the verifier gets upset if you try to read the values
directly without using bpf_probe_read.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
f3574b0e70
Merge pull request #318 from ishitatsuyuki/patch-1
...
bpf: Remove unnecessary Sync bound on PerCpuArray<T>
2 years ago
Tatsuyuki Ishi
5e24cf7a29
bpf: Remove unnecessary Sync bound on PerCpuArray<T>
2 years ago
Alessandro Decina
82cd3e695a
ebpf: PerCpuArray: remove get_mut() and add get_ptr() and get_ptr_mut()
...
get_mut() wasn't sound as it allowed creating multiple mutable
references.
2 years ago
Alessandro Decina
1eb9ef5488
Merge pull request #290 from ishitatsuyuki/immut-self
...
bpf: Replace map types to use &self, remove HashMap::get_mut
2 years ago
Dave Tucker
7b21a2d17e
aya: Implement BPF_PROG_TYPE_CGROUP_SOCK
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
6f51b616e1
bpf: Implement BPF_PROG_TYPE_CGROUP_SOCK
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
3f6b2507b6
Merge pull request #314 from dave-tucker/sockops
...
bpf: Add accessors to SockOpsContext
2 years ago
Dave Tucker
9d18a48c3c
bpf: Add accessors to SockOpsContext
...
Allow getting family, remote/local v4/v6 addresses and the remote and
local ports.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
52eb6bd1ef
Merge pull request #313 from aya-rs/add-code-of-conduct
...
Add a Code of Conduct
2 years ago
Dave Tucker
e752ffb3be
Add a Code of Conduct
...
Adapted from the contributor covenant template
2 years ago
Alessandro Decina
cffff273a1
aya-gen: fix lint 👀
2 years ago
Alessandro Decina
e675e51bd9
aya-gen: re-export generate::{InputFile, generate}
2 years ago
Dave Tucker
bbb5d7124a
Merge pull request #310 from dave-tucker/cross-ci
...
Enable CI for all supported architectures
2 years ago
Dave Tucker
c725e72796
bpf: re-reun build.rs if env changed
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
e3c8c659a1
bpf: arm fix pt_regs handling
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
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>
2 years ago
Tatsuyuki Ishi
e852f7e0cc
test: Update to use non-mut map types
2 years ago
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
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>
2 years ago
Dave Tucker
7f6da53c34
bpf: Fix pt_regs for aarch64 (again)
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Dave Tucker
1d06b41e57
ci: Test all architectures
...
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
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