Alessandro Decina
d1919a83ed
Merge pull request #466 from bpfdeploy-io/ml/cgroup-device
...
Add support for BPF_PROG_TYPE_CGROUP_DEVICE
2 years ago
Milan
925504f230
Fix doctest issue
2 years ago
Milan
4b6d97e4db
Fix CI, clippy and feedback
...
Signed-off-by: Milan <milan@mdaverde.com>
2 years ago
Milan
8f1163a400
Add support for BPF_PROG_TYPE_CGROUP_DEVICE
...
Kernel 4.15 added a new eBPF program that can
be used with cgroup v2 to control & observe device
access (e.g. read, write, mknod) - `BPF_PROG_TYPE_CGROUP_DEVICE`.
We add the ability to create these programs with the `cgroup_device`
proc macro which creates the `cgroup/dev` link section. Device
details are available to the eBPF program in `DeviceContext`.
The userspace representation is provided with the `CgroupDevice`
structure.
Fixes : #212
Signed-off-by: Milan <milan@mdaverde.com>
2 years ago
Alessandro Decina
9ce1530695
tests: skip tests that assume bpf_link based XDP on older kernels
2 years ago
Alessandro Decina
66d435fc7c
Merge pull request #460 from Tuetuopay/owned-per-cpu-hash-map
...
maps: add missing TryFrom<Map> for HashMap, PerCpuHashMap and LpmTrie
2 years ago
Alexis Bauvin
51bb50ed8e
maps: add missing TryFrom<Map> for HashMap, PerCpuHashMap and LpmTrie
2 years ago
Michal Rostecki
16b029ed37
Merge pull request #456 from dmitris/uninlined_format_args
...
autofix clippy uninlined_format_args issues
2 years ago
Dmitry Savintsev
055d94f58b
fix uninlined_format_args clippy issues
2 years ago
Dmitry Savintsev
22340764a3
upgrade clap to 4.x
2 years ago
Michal Rostecki
52b9ffed60
Merge pull request #451 from aya-rs/dependabot/cargo/bindgen-0.63
...
build(deps): update bindgen requirement from 0.61 to 0.63
2 years ago
Michal Rostecki
1ded0e61cd
Merge pull request #450 from aya-rs/dependabot/cargo/object-0.30
...
build(deps): update object requirement from 0.29 to 0.30
2 years ago
Michal Rostecki
f9bef9f8c0
Merge pull request #449 from aya-rs/dependabot/cargo/env_logger-0.10
...
build(deps): update env_logger requirement from 0.9 to 0.10
2 years ago
dependabot[bot]
1c8088b16c
build(deps): update env_logger requirement from 0.9 to 0.10
...
Updates the requirements on [env_logger](https://github.com/rust-cli/env_logger ) to permit the latest version.
- [Release notes](https://github.com/rust-cli/env_logger/releases )
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-cli/env_logger/compare/v0.9.0...v0.10.0 )
---
updated-dependencies:
- dependency-name: env_logger
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot]
1fe7bba070
build(deps): update object requirement from 0.29 to 0.30
...
Updates the requirements on [object](https://github.com/gimli-rs/object ) to permit the latest version.
- [Release notes](https://github.com/gimli-rs/object/releases )
- [Changelog](https://github.com/gimli-rs/object/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gimli-rs/object/compare/0.29.0...0.30.0 )
---
updated-dependencies:
- dependency-name: object
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot]
9608da58a1
build(deps): update bindgen requirement from 0.61 to 0.63
...
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.61.0...v0.63.0 )
---
updated-dependencies:
- dependency-name: bindgen
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
Michal Rostecki
9382de75cc
Merge pull request #452 from vadorovsky/fix-lint
...
Fix clippy error
2 years ago
Michal Rostecki
d2b44c1e0f
github: Refresh package cache before installing pre-requisites
...
Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
2 years ago
Michal Rostecki
176d61ae23
Fix clippy error
...
`'local` lifetime can be elided to `'_` which triggers:
https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
2 years ago
Alessandro Decina
7fef833e3a
Merge pull request #418 from anfredette/tc-handle
...
Support using handle in tc programs
2 years ago
Andre Fredette
abb75ba029
Make doc fixes
...
Signed-off-by: Andre Fredette <afredette@redhat.com>
2 years ago
Alessandro Decina
88d7777553
Merge pull request #431 from 0b01/refs
...
aya: use impl Borrow<T> instead of T for maps
2 years ago
Alessandro Decina
0b41018ee2
Revert "aya-log, aya-log-common: temporarily revert to old map API so we can release"
...
This reverts commit 0d040d2290
.
2 years ago
Alessandro Decina
832bdd280c
{{crate_name}}: release version 0.1.13
2 years ago
Alessandro Decina
0d040d2290
aya-log, aya-log-common: temporarily revert to old map API so we can release
2 years ago
Alessandro Decina
dfb03382f6
release.toml: fix pre/post release templates
2 years ago
Alessandro Decina
5d0527ae51
release.toml: dev-version* are gone too
2 years ago
Alessandro Decina
a564ab6e5b
release.toml: consolidate-pushes doesn't exist anymore
2 years ago
0b01
76e417a474
Fix formatting
2 years ago
Dave Tucker
3adb9b049f
Merge pull request #436 from vadorovsky/aya-log-mac-addr
...
aya-log: Add format hints for MAC addresses
2 years ago
tiann
49404367d8
bpf: Add bindings for uid and gid
2 years ago
Andre Fredette
a3e3e80698
Support both attach() and attach_with_options() for SchedClassifier
...
Signed-off-by: Andre Fredette <afredette@redhat.com>
2 years ago
Michal Rostecki
3e089a61d1
Merge pull request #435 from vadorovsky/pin-fix-error-msg
...
maps: Fix the error message in `MapData::pin()`
2 years ago
Michal Rostecki
2223ab828d
aya-log: Add format hints for MAC addresses
...
Add `{:mac}` (for lower-case hex representation) and `{:MAC}` (for
upper-case hex representation) format hints for the `[u8; 6]` type,
which is the standard one in Linux to store physical addresses in.
Tested with: https://github.com/vadorovsky/aya-examples/tree/main/xdp-mac
Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
2 years ago
Michal Rostecki
e0a9895260
maps: Fix the error message in `MapData::pin()`
...
The syscall name is `BPF_OBJ_PIN`, not `BPF_OBJ_GET`.
Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
2 years ago
Ricky Han
6ce60ad21d
make sure everything is marked correctly
2 years ago
Ricky Han
9525b1a370
fix array
2 years ago
Ricky Han
575fea4cb9
fix wrong bounds
2 years ago
Ricky Han
fbfbedb6a8
cargo fmt
2 years ago
Ricky Han
9991ffb093
Use &
2 years ago
Ricky Han
e9ec257328
Add test case
2 years ago
Ricky Han
1247ffc19b
Use Borrow<T> instead
2 years ago
Dmitry Savintsev
82773f46c8
Make the integration tests handle errors internally.
...
Instead of returning anyhow>>Result<()> handle errors
'in-place' with unwrap or panic, for more informative
and user-friendly error messages on test failures.
Fixes #421 .
Signed-off-by: Dmitry Savintsev <dsavints@gmail.com>
2 years ago
Michal Rostecki
13bc70eec7
Merge pull request #428 from dmitris/ref-in-deref
...
fix clippy needless_borrow warnings
2 years ago
Dmitry Savintsev
d0424fb091
fix clippy needless_borrow warning
2 years ago
Dmitry Savintsev
d4a399fb0c
Update CONTRIBUTING.md to link to the test/README.md
...
Co-authored-by: Michal Rostecki <vadorovsky@skiff.com>
2 years ago
Andre Fredette
af3de84b08
Use a struct for setting priority and handle in SchedClassfier attach
...
Use a struct called TcOptions for setting priority and handle in SchedClassifier attach
struct TcOptions implements the Default trait, so for the simple use
case in which the defaults are acceptable, we can call attach as
follows:
attach(“eth0”, TcAttachType::Ingress, TcOptions::default())
To specify all options:
attach(“eth0”, TcAttachType::Ingress, TcOptions { priority: (50), handle: (3) })
Or, some options:
attach(“eth0”, TcAttachType::Ingress, TcOptions { priority: (50), ..Default::default() })
Signed-off-by: Andre Fredette <afredette@redhat.com>
2 years ago
Andre Fredette
ac07608b79
Support using handle in tc programs
...
Implements step 1 of https://github.com/aya-rs/aya/issues/414 .
- Adds handle to the SchedClassifier attach API
- Saves handle in the TcLink sruct and uses it when detaching programs
NOTE: this changes the API, so it will require a bump in the Aya version.
Signed-off-by: Andre Fredette <afredette@redhat.com>
2 years ago
Alessandro Decina
d6cb1a16ad
Merge pull request #397 from astoycos/refactor-map-api2
...
Refactor map API
2 years ago
Andrew Stoycos
82edd681c3
Fix doc links, update rustdoc args
...
Fix some broken rust doc links.
Make sure rustdoc build fail on warnings
so we catch these broken links in CI.
Signed-off-by: Andrew Stoycos <astoycos@redhat.com>
2 years ago