Tamir Duberstein
27d69c35f0
aya: remove panics on indeterminate kernel version
...
Cache the current kernel version in a thread-local while I'm here.
Closes https://github.com/aya-rs/aya/issues/1024 .
Closes https://github.com/aya-rs/aya/pull/1042 .
9 months ago
Tamir Duberstein
9eefb48a0a
aya: remove some copies
...
Replace truncation with proper NULL termination at the site of use.
9 months ago
Tamir Duberstein
7525532204
ci: remove superfluous name
...
It's implied from the git URL.
9 months ago
Dave Tucker
0fa300f696
Merge pull request #1141 from gth828r/1140.xdp-context-if-index-support
...
aya-ebpf: add ifindex support to XdpContext
9 months ago
jinlong
2fb19f3ee2
feat: Add `set` for `Array<T>`
...
Signed-off-by: jinlong <jinlong@tencent.com>
9 months ago
Tamir Duberstein
601c89dd23
aya-ebpf: extract insert,remove,lookup
...
These functions (and more) are duplicated all over the place.
9 months ago
Tim Upthegrove
dc543ae44a
aya-ebpf: add ifindex support to XdpContext
...
This change exposes the ifindex field from the underlying xdp_md
data structure to the XdpContext in Aya. The ifindex represents the
unique OS-provided index for a network interface.
Fixes #1140
9 months ago
WANG Rui
9d0bdb56e6
chore(xtask): Add loongarch64 to codegen
...
Signed-off-by: WANG Rui <wangrui@loongson.cn>
9 months ago
Ignacy
3edac6153e
integration-test: allow llvm-objcopy env override
...
Allows integration tests to run where llvm-objcopy is versioned.
Closes: https://github.com/aya-rs/aya/issues/1142
9 months ago
Tamir Duberstein
89aa638e05
aya: add TODO to remove once_cell
9 months ago
Tamir Duberstein
de1e80c1d1
aya: encode perf_event ioctl contract
...
Enumerate the possible ioctls in an enum and bake in the knowledge that
they all return 0 on success and -1 on error.
9 months ago
Tamir Duberstein
eee7975ce4
aya: remove redundant TEST_SYSCALL use
...
This is already done in `syscall`.
9 months ago
Tamir Duberstein
055e36e8d9
aya: encode perf_event_open(2) contract
...
Per man 2 perf_event_open:
> RETURN VALUE
> On success, perf_event_open() returns the new file descriptor. On
> error, -1 is returned and errno is set to indicate the error.
Bake this into our syscalls so we stop using `_` so much which can hide
information loss. Remove the type parameter to SysResult.
9 months ago
Tamir Duberstein
bdd8ae2d0b
*: avoid `_`
...
This can silently discard information, so we shouldn't do it.
9 months ago
Tamir Duberstein
f6df60fa70
aya: encode bpf(2) contract
...
Per man 2 bpf:
> RETURN VALUE
> For a successful call, the return value depends on the operation:
>
> BPF_MAP_CREATE
> The new file descriptor associated with the eBPF map.
>
> BPF_PROG_LOAD
> The new file descriptor associated with the eBPF program.
>
> All other commands
> Zero.
>
> On error, -1 is returned, and errno is set to indicate the error.
Bake this into our syscalls so we stop using `_` so much which can hide
information loss.
9 months ago
Tamir Duberstein
2d782606fe
*: avoid Result::is_{ok,err}
...
These methods discard information. Discarding information is bad.
9 months ago
Tamir Duberstein
a25e355ba7
ci: run on all branches
...
It is especially common to run CI on non-main branches in forks. This
shouldn't have any impact on how many CI jobs we run in the main aya
repo if contributors follow a fork-centric workflow.
9 months ago
Tamir Duberstein
dab1aa4e29
maps: avoid retagging in tests
9 months ago
Tamir Duberstein
f51ab80075
perf_buffer: attempt to preserve provenance
...
In tests, provide write provenance.
9 months ago
Tamir Duberstein
888701425b
perf_buffer: use MMap from ring_buf
9 months ago
Tamir Duberstein
ff82c244f7
netlink: avoiding casting pointers to usize
9 months ago
Tamir Duberstein
e17feca2d6
maps: remove some stale comments
9 months ago
Tamir Duberstein
935ba20224
Enable test under miri
...
nr_cpus() is stubbed since 9e1bcd0ab8 .
9 months ago
Tamir Duberstein
5ff57f1d9e
Use `ignore` rather than not compile on big endian
9 months ago
Tamir Duberstein
9a47495227
aya,aya-obj: preserve pointer provenance
9 months ago
Tamir Duberstein
b500a6326b
tests: use `cfg!` to tidy up
9 months ago
Tamir Duberstein
122c49fca4
*: appease clippy
...
While I'm here convert a String to a PathBuf in an error to avoid lossy
conversions.
See https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error .
9 months ago
tamird
f49a761c27
aya-obj, aya-ebpf-bindings: regenerate
...
libbpf commit: 20ea95b4505c477af3b6ff6ce9d19cee868ddc5d
9 months ago
Tamir Duberstein
5d5b63dcb1
gen: run on ubuntu-latest
...
ubuntu-20.04 is being deprecated.
See https://github.com/actions/runner-images/issues/11101 .
9 months ago
aorhant
9e1bcd0ab8
aya: Fix PerCpuHashMap NotFound
...
PerCpuHashMap was never returning MapError::KeyNotFound because
bpf_map_lookup_elem_per_cpu was replacing Ok(None) with
Ok(Some(zeroed_value)).
Update bpf_map_lookup_elem_per_cpu to map the Option value.
9 months ago
tamird
39e40ba5c7
public-api: regenerate
9 months ago
tamird
ae317961ef
public-api: regenerate
9 months ago
Tamir Duberstein
9e52d2c123
Correctly specify git dependency
...
Fixes #1178 .
9 months ago
dependabot[bot]
8724cc1b2d
Merge pull request #1177 from aya-rs/dependabot/cargo/cargo-crates-b42da3d535
9 months ago
dependabot[bot]
5e5cd29922
build(deps): update rand requirement
...
Updates the requirements on [rand](https://github.com/rust-random/rand ) to permit the latest version.
Updates `rand` to 0.8.5
- [Release notes](https://github.com/rust-random/rand/releases )
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand/compare/0.8.0...0.8.5 )
---
updated-dependencies:
- dependency-name: rand
dependency-type: direct:production
dependency-group: cargo-crates
...
Signed-off-by: dependabot[bot] <support@github.com>
9 months ago
Tamir Duberstein
c608a2d3d2
Update public-api to 0.44.0
9 months ago
tamird
ade2e2a739
aya-obj, aya-ebpf-bindings: regenerate
...
libbpf commit: 20ea95b4505c477af3b6ff6ce9d19cee868ddc5d
10 months ago
Tamir Duberstein
8af5f38056
gen: run automatically
10 months ago
Tamir Duberstein
83b791223f
gen: remove pointless "update"
...
libbpf is a submodule, so its version is already effectively pinned.
`xtask codegen` also runs `git submodule update` which reverts the
action of updating to `origin/HEAD`. Remove the cruft.
10 months ago
Tamir Duberstein
76d1b9f46e
gen: use peter-evans/create-pull-request@v7
...
We already use this for the lint job on main.
10 months ago
Tamir Duberstein
c8f14b18d4
codegen: tidy up
...
Move some code out of a loop, where it appears to be nonsense.
10 months ago
Tamir Duberstein
9198335100
codegen: remove outdated workaround
...
bindgen can handle these macros now.
10 months ago
Tamir Duberstein
ed92e7eb66
aya-tool: use write_all
10 months ago
tamird
76ca85c8c3
public-api: regenerate
10 months ago
Tamir Duberstein
942ea51906
Avoid handwritten assembly
10 months ago
Tamir Duberstein
8ea11ef9e8
Remove duplication
...
Use `BPF_PROG_TYPE_TRACEPOINT` instead of `BPF_PROG_TYPE_SOCKET_FILTER`
as the former seems to work with more feature detection functions.
10 months ago
Tamir Duberstein
b010b0f028
Avoid raw slice construction
...
The safety requirements of this transmutation are simpler.
10 months ago
Tamir Duberstein
94c857261a
aya-obj: use generated constants
10 months ago
tamird
e82253c915
chore(aya-obj, aya-ebpf-bindings): Regenerate bindings
...
libbpf commit: d4a841a32b04d69194ab5bdac359a51938a206ce
Files changed:
M aya-obj/src/generated/linux_bindings_aarch64.rs
M aya-obj/src/generated/linux_bindings_armv7.rs
M aya-obj/src/generated/linux_bindings_mips.rs
M aya-obj/src/generated/linux_bindings_powerpc64.rs
M aya-obj/src/generated/linux_bindings_riscv64.rs
M aya-obj/src/generated/linux_bindings_s390x.rs
M aya-obj/src/generated/linux_bindings_x86_64.rs
M xtask/public-api/aya-obj.txt
10 months ago
Tamir Duberstein
2319770f5b
codegen: generate additional userspace constants
10 months ago