You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Michal Rostecki 04584fe9c5 ebpf: Make the dev target identical to release
eBPF programs cannot be debugged and those ones built with the default
dev profile are often annoying the verifier. Therefore it doesn't make
sense to compile not optimized eBPF objects.

However, we still want to let people to use the dev profile, especially
in the future when we want to get rid of xtask by using cargo binary
dependencies[0]. The trick is to have no real difference between dev and
release profile in eBPF.

This change doesn't affect the userspace part which still is going to
contain debug symbols when built with dev profile.

[0] https://rust-lang.github.io/rfcs/3028-cargo-binary-dependencies.html

Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
3 years ago
.cargo Add xtask for building ebpf programs 3 years ago
.github/workflows fentry/fexit: Add template for fentry/fexit programs 3 years ago
.vim lsp: use project-name instead of crate_name to generate Cargo.toml path 3 years ago
.vscode lsp: use project-name instead of crate_name to generate Cargo.toml path 3 years ago
xtask Revert "Use release profile for eBPF programs by default" 3 years ago
{{project-name}} Revert "Use release profile for eBPF programs by default" 3 years ago
{{project-name}}-common use edition 2021 3 years ago
{{project-name}}-ebpf ebpf: Make the dev target identical to release 3 years ago
.gitignore Initial Commit 3 years ago
Cargo.toml Add xtask for building ebpf programs 3 years ago
README.md userspace: use include_bytes_aligned! instead of --path flag 3 years ago
cargo-generate.toml Use strict regex for additional args. 3 years ago
test.sh fentry/fexit: Add template for fentry/fexit programs 3 years ago

README.md

{{project-name}}

Prerequisites

  1. Install a rust stable toolchain: rustup install stable
  2. Install a rust nightly toolchain: rustup install nightly
  3. Install bpf-linker: cargo install bpf-linker

Build eBPF

cargo xtask build-ebpf

To perform a release build you can use the --release flag. You may also change the target architecture with the --target flag

Build Userspace

cargo build

Run

cargo xtask run