64 Commits (main)

Author SHA1 Message Date
Michal Rostecki f642921fee chore: Use `aya`, `aya-ebpf` and `aya-log` from crates.io 5 months ago
blacker1230 1185fd49d2 Fix sk_msg. 6 months ago
pdliyan 3bee1bcc0f Reverse of sk_msg. 6 months ago
pdliyan 17fe98c37c Have no idea about this failed. 6 months ago
pdliyan 5d04aef980 Try fix the usage of fd(). 6 months ago
pdliyan c68f239ad0 Try fix test failed. Let's see if that would pass. 6 months ago
pdliyan 628e6a4f81 Fix unchanged Bpf reference. Would check sock_map latter. 6 months ago
Tamir Duberstein 1247fdea1d socket_filter: fix build
The signature of attach changed in
https://github.com/aya-rs/aya/pull/723.
1 year ago
liyan 288919127c
Update main.rs 1 year ago
liyan 2aeba1b85d
Update {{project-name}}/src/main.rs
Co-authored-by: Alessandro Decina <alessandro.d@gmail.com>
1 year ago
liyan c6ece63d97
Update main.rs 1 year ago
pdliyan 506ce7ec3d make warn info more informative. 1 year ago
pdliyan 0f4584ef7a remove whitespace. 1 year ago
pdliyan d22827603d remove white line. 1 year ago
pdliyan f3eb374c3e remove rlimit use. 1 year ago
pdliyan bc2db6b112 use libc instead of rlimit. 1 year ago
pdliyan f8639db35a add memlock remove. 1 year ago
Tamir Duberstein 3013ab506d
Fix sk_msg tests
These were broken by #89 which pulled in
https://github.com/aya-rs/aya/pull/397 and other changes which were not
reflected in the templates.
1 year ago
Arindam Das b45787c353
fix: fixes aya and aya-log version mismatch (#89)
Fixes aya and aya-log version mismatch between {{project-name}}-epbf and {{project-name}} crates.

Fixes https://github.com/aya-rs/aya/issues/565.
1 year ago
Dmitry Savintsev 715967772f upgrade deps: tokio and anyhow 2 years ago
Dmitry Savintsev 7016308147 fix uprobe programs
Signed-off-by: Dmitry Savintsev <dsavints@gmail.com>
2 years ago
Dmitry Savintsev 8cd95c42ea adjust spacing to avoid VSCode changes on save
Signed-off-by: Dmitry Savintsev <dsavints@gmail.com>
2 years ago
Dmitry Savintsev c6c4082093 update anyhow, clap, and tokio 2 years ago
Dmitry Savintsev e7ccd1a71e include and use clap only if needed
Signed-off-by: Dmitry Savintsev <dsavints@gmail.com>
2 years ago
Luca BRUNO 554702e63d
cargo-generate: add perf_event
This adds `perf_event` program type as a template entry.
The new entry comes with a skeleton example which register
scheduled events on each CPU at 1 HZ, triggered by the kernel
(based on clock ticks). The corresponding BPF logic logs each
event, and can identify kernel tasks from userland processes.
2 years ago
Michal Rostecki 2ba73f6f2f
Merge pull request #67 from dmitris/fix-clippy
Fix clippy issues in the generated code.
2 years ago
Dmitry Savintsev e86392d422 Fix clippy issues in the generated code.
Fix template so that the generated code would not have any
clippy issues (per `cargo +nightly clippy`).
Add template conditionals on the program_type to avoid
a warning about unused 'opt' variable.

Fixes #66.
2 years ago
Michal Rostecki 70475f3b2a Add raw_tracepoint program type
Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
2 years ago
Michal Rostecki 76699e10b2 Update dependencies
Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
2 years ago
Michal Rostecki ab442eb10f Don't fail on `BpfLogger::init()` error
An error during `BpfLogger` initialization most likely means that
`ayalog-ebpf` is not used in the eBPF crate.

Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
2 years ago
Michal Rostecki 3b831ffda3 Switch from simplelog to env_logger
Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
2 years ago
Dave Tucker 8c6016040e
Merge pull request #49 from dave-tucker/deps
Update dependency
2 years ago
Dave Tucker 3b2b186e0b Update dependency
Use `aya = ">=0.11"` and therefore the Aya version picked by
Cargo will be bounded by the latest version supported in
`aya-log = "0.1"` - once it's been released again.

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2 years ago
Kenjiro Nakayama dcb6523ada Fix wrong elif condition 2 years ago
Kenjiro Nakayama 8621ea7d5f Add cgroup_sockopt template for BPF_PROG_TYPE_CGROUP_SOCKOPT 2 years ago
Kenjiro Nakayama 3bf8e87b3e Add cgroup_sysctl template for BPF_PROG_TYPE_CGROUP_SYSCTL
Since https://github.com/aya-rs/aya/pull/256 supports `BPF_PROG_TYPE_CGROUP_SYSCTL`,
this patch adds cgroup_sysctl template.
2 years ago
Michal Rostecki 9f69ee52b2 aya: Switch (again) from crates.io to git
This time we need to switch to git again, because of this unreleased
change:

aya-rs/aya@d1f2215193

Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
2 years ago
Dave Tucker 807131b955
Merge pull request #33 from nak3/add-socket-filter
Add template for socket_filter program type
2 years ago
Michal Rostecki 0ea4a7eb04 Add aya-log
This change adds aya-log and example log messsages to all eBPF
programs.

Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
2 years ago
Michal Rostecki f940467c4a Use clap instead of structopt
structopt was merged into clap (starting from clap 3.0), therefore
becoming a deprecated project.

Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
2 years ago
Michal Rostecki f5181a822f Update dependencies
Update simplelog and tokio

Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
2 years ago
Michal Rostecki ec1910fffd Revert "Use release profile for eBPF programs by default"
This reverts commit ad9b8ee8dc.
3 years ago
Dmitry Savintsev aa3b2a4407 use edition 2021 3 years ago
Kenjiro Nakayama 8dcda393c4 Add template for socket_filter program type
This patch adds template for socket_filter.
e.g.

```sh
cargo generate --path ~/dev/aya-template \
         --name my-test \
	 -d program_type=socket_filter
```
3 years ago
Michal Rostecki ad9b8ee8dc Use release profile for eBPF programs by default
This change removes the differentiation between release and dev profiles
for eBPF programs. There is no way eBPF programs can be debugged and
building them with dev profile just makes them slower and often unable
to be verified. They should be always built with the release profile.

After this change, `cargo xtask build-ebpf` is going to build eBPF
programs with release profile. And the userspace program is going to
include eBPF program bytes from target/release/. Regardless of which
profile is being used in the userspace program.

`cargo xtask build-ebpf` has the --profile argument which can be
optionally used (i.e. for user-defined profiles), but by default the
value of that option is `release`.

Signed-off-by: Michal Rostecki <mrostecki@opensuse.org>
3 years ago
Dmitry Savintsev 4a9e5843a7
fix typo 3 years ago
Dmitry Savintsev c35eadc34b avoid 'cargo fmt' diffs in generated code 3 years ago
Dmitry Savintsev 4d22913931
classifier: don't bail on qdisc_add_clsact error 3 years ago
Michal Rostecki de709c52d0 Use Tokio and simplelog by default
Replace ctrlc usage with Tokio and simplelog.

Signed-off-by: Michal Rostecki <mrostecki@opensuse.org>
3 years ago
Dmitry S 21803634d7 xdp - suggest SKB_MODE on attach failure 3 years ago