Commit Graph

922 Commits (6ad2c3c3731da5e70443ad771765d9454cee195c)
 

Author SHA1 Message Date
Ayrton Sparling 1368eb94e7 Remove old test
Ayrton Sparling 9a3682e793 Add ability to iterate over lpmtrie key matches
Ayrton Sparling 8fe64aef1f Fix lpmtrie iter returning nothing
Alexis Bauvin 51bb50ed8e maps: add missing TryFrom<Map> for HashMap, PerCpuHashMap and LpmTrie
Ayrton Sparling e4182a9eab Iterate lpmtrie
Michal Rostecki 16b029ed37
Merge pull request from dmitris/uninlined_format_args
autofix clippy uninlined_format_args issues
Dmitry Savintsev 055d94f58b fix uninlined_format_args clippy issues
Dmitry Savintsev 22340764a3 upgrade clap to 4.x
Michal Rostecki 52b9ffed60
Merge pull request from aya-rs/dependabot/cargo/bindgen-0.63
build(deps): update bindgen requirement from 0.61 to 0.63
Michal Rostecki 1ded0e61cd
Merge pull request from aya-rs/dependabot/cargo/object-0.30
build(deps): update object requirement from 0.29 to 0.30
Michal Rostecki f9bef9f8c0
Merge pull request from aya-rs/dependabot/cargo/env_logger-0.10
build(deps): update env_logger requirement from 0.9 to 0.10
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>
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>
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>
Michal Rostecki 9382de75cc
Merge pull request from vadorovsky/fix-lint
Fix clippy error
Michal Rostecki d2b44c1e0f github: Refresh package cache before installing pre-requisites
Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
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>
Alessandro Decina 7fef833e3a
Merge pull request from anfredette/tc-handle
Support using handle in tc programs
Andre Fredette abb75ba029 Make doc fixes
Signed-off-by: Andre Fredette <afredette@redhat.com>
Alessandro Decina 88d7777553
Merge pull request from 0b01/refs
aya: use impl Borrow<T> instead of T for maps
Alessandro Decina 0b41018ee2 Revert "aya-log, aya-log-common: temporarily revert to old map API so we can release"
This reverts commit 0d040d2290.
Alessandro Decina 832bdd280c {{crate_name}}: release version 0.1.13
Alessandro Decina 0d040d2290 aya-log, aya-log-common: temporarily revert to old map API so we can release
Alessandro Decina dfb03382f6 release.toml: fix pre/post release templates
Alessandro Decina 5d0527ae51 release.toml: dev-version* are gone too
Alessandro Decina a564ab6e5b release.toml: consolidate-pushes doesn't exist anymore
0b01 76e417a474 Fix formatting
Dave Tucker 3adb9b049f
Merge pull request from vadorovsky/aya-log-mac-addr
aya-log: Add format hints for MAC addresses
tiann 49404367d8 bpf: Add bindings for uid and gid
Andre Fredette a3e3e80698 Support both attach() and attach_with_options() for SchedClassifier
Signed-off-by: Andre Fredette <afredette@redhat.com>
Michal Rostecki 3e089a61d1
Merge pull request from vadorovsky/pin-fix-error-msg
maps: Fix the error message in `MapData::pin()`
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>
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>
Ricky Han 6ce60ad21d make sure everything is marked correctly
Ricky Han 9525b1a370 fix array
Ricky Han 575fea4cb9 fix wrong bounds
Ricky Han fbfbedb6a8 cargo fmt
Ricky Han 9991ffb093 Use &
Ricky Han e9ec257328 Add test case
Ricky Han 1247ffc19b Use Borrow<T> instead
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 .

Signed-off-by: Dmitry Savintsev <dsavints@gmail.com>
Michal Rostecki 13bc70eec7
Merge pull request from dmitris/ref-in-deref
fix clippy needless_borrow warnings
Dmitry Savintsev d0424fb091 fix clippy needless_borrow warning
Dmitry Savintsev d4a399fb0c Update CONTRIBUTING.md to link to the test/README.md
Co-authored-by: Michal Rostecki <vadorovsky@skiff.com>
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>
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>
Alessandro Decina d6cb1a16ad
Merge pull request from astoycos/refactor-map-api2
Refactor map API
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>
Andrew Stoycos f3262e87bd Make map APIs return an option
switch map() and map_mut() from returning a
`Result` to an `Option` since it's just getting
a value from a Hashmap, and to stay in line with
the Programs API.

Remove `MapError::MapNotFound`

Signed-off-by: Andrew Stoycos <astoycos@redhat.com>
Andrew Stoycos 4ddf2600b4 Fixups4
Remove From method and replace with internal
helper function.

Signed-off-by: Andrew Stoycos <astoycos@redhat.com>