190 Commits (main)
 

Author SHA1 Message Date
William Findlay a80359acca
userspace: use include_bytes_aligned! instead of --path flag 3 years ago
Alessandro Decina e73c561a7c
Merge pull request #20 from willfindlay/xtask-run
implement xtask run subcommand + misc doc fixes
3 years ago
William Findlay 329731038b
readme: document new cargo xtask run helper 3 years ago
William Findlay ee77866a16
xtask/build_ebpf: document flags 3 years ago
William Findlay ee4336a643
xtask/build_ebpf: fix panic message 3 years ago
William Findlay d590d3a1ea
xtask: implement xtask run subcommand
This new subcommand provides a convenient way to run your aya application.

Features include:
    - automatic compilation of userspace + bpf code
    - support for user-defined runners, defaulting to `sudo -E` for convenience
    - no need to run `sudo cargo run` (gross) or `sudo target/debug/myapp` (also gross),
      it just works
    - an optional `-p` flag which automatically supplies the correct --path flag to the
      application
    - support for trailing args after a final -- which are passed to the application,
      cargo run-style
3 years ago
Alessandro Decina 509073c454
Merge pull request #15 from willfindlay/new-lsm-tp-btf
update lsm template and add template for tp_btf
3 years ago
William Findlay 3f082e713e
tp_btf: add template for tp_btf programs 3 years ago
William Findlay 7908e8593d
lsm: update program.load() to use new signature with &Btf 3 years ago
Alessandro Decina a9c18a96cc
Merge pull request #14 from willfindlay/fix-rust-analyzer
lsp: use project-name instead of crate_name to generate Cargo.toml path
3 years ago
Alessandro Decina 6fb22fac2d
Merge pull request #12 from willfindlay/lsm
template: add a new template for LSM programs
3 years ago
William Findlay b2838bd9eb
lsp: use project-name instead of crate_name to generate Cargo.toml path
My original patch was broken for crates with names-like-this, since it would incorrectly
add underscores instead of dashes to the pathname. This patch fixes the problem.
3 years ago
William Findlay 7ffb47cc6b
template: add a new template for LSM programs 3 years ago
Alessandro Decina 53906e4b13
Merge pull request #13 from willfindlay/fix-rust-analyzer
lsp: fix rust-analyzer support on neovim and vscode
3 years ago
William Findlay 9849294865
lsp: fix rust-analyzer support on neovim and vscode
The project structure was messing with rust-analyzer's ability to correctly find the
Cargo.toml for the {{project-name}}-ebpf crate. This patch fixes it by manually defining
the project structure in both vscode and neovim.

Signed-off-by: William Findlay <william@williamfindlay.com>
3 years ago
Alessandro Decina 7a536923d6
Merge pull request #10 from willfindlay/main
ebpf: Add rust-analyzer settings for coc.nvim
3 years ago
William Findlay 87e5676648
ebpf: Add rust-analyzer settings for coc.nvim
Mirrors the settings for vscode introduced in e81a33e

Signed-off-by: William Findlay <william@williamfindlay.com>
3 years ago
Alessandro Decina bf54208f6a README: fix run command 3 years ago
Alessandro Decina ffa931552e ebpf: use core::hint::unreachable_unchecked()
unreachable!() can panic when debug assertions is on, and we don't want
that inside a panic handler
3 years ago
Dave Tucker c07fea5fbf ebpf: Add rust toolchain override
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker e81a33efcb ebpf: Add rust-analyzer settings for vscode
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker 3158b7a337 Merge branch 'gen-bump' 3 years ago
Alessandro Decina ddbe4013bf Fix attach placeholder for kprobes 3 years ago
Alessandro Decina 7baf4f5688 Sleep while waiting for SIGINT 3 years ago
Dave Tucker 1378d64d4f bump cargo-generate minimum version
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Alessandro Decina 78aad8a58d
Merge pull request #9 from dmitris/patch-2
CI: fix cargo install command for cargo-generate
3 years ago
Dmitry Savintsev 2dfbeb8371
CI: fix cargo install command for cargo-generate 3 years ago
Alessandro Decina 6d30972fdb ebpf: set debug = 1 to avoid a potential segfault in LLVM 3 years ago
Alessandro Decina dcf738cd46 Switch git urls to aya-rs 3 years ago
Dave Tucker 566934ccb6
Merge pull request #3 from aya-rs/skel
Use cargo-generate conditionals to provide skeletons for all supported program types
3 years ago
Dave Tucker 60badbcc73
Merge pull request #4 from alessandrod/cargo-toml-target
ebpf: set target and enable -Z build-std in .cargo/config.toml
3 years ago
Dave Tucker 8f4e73682e
Merge pull request #5 from alessandrod/debug-opt-level
ebpf: set opt-level = 2
3 years ago
Alessandro Decina 81a98fe13a ebpf: set opt-level = 2
Pretty much all non trivial programs need at least opt-level=2 to
compile and link successfully
3 years ago
Alessandro Decina a9a659716b ebpf: set target and enable -Z build-std in .cargo/config.toml
This makes it possible to build with:

    cd {{project-name}}-ebpf && cargo +nightly build
3 years ago
Dave Tucker d98d90be7a Generate Skeleton Programs for all program types
User may specify a program_type by prompt or CLI flag.
We then generate skeleton code to the ebpf program for a noop program of
that type.

Requires cargo-generate@main

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker 250c9ff653
Merge pull request #2 from vadorovsky/readme-fix-arg
readme: Fix the cargo run --bin flag
3 years ago
Michal Rostecki f3a8f5d003 readme: Fix the cargo run --bin flag
The flag for `cargo run` is `--bin`, not `-bin`.

Signed-off-by: Michal Rostecki <mrostecki@opensuse.org>
3 years ago
Dave Tucker 273123abb7 aya isn't optional for the main program
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker 5d018fd6ba Add xtask for building ebpf programs
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago
Dave Tucker 9e1c761d8d Initial Commit
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
3 years ago