No description
  • Rust 93.4%
  • Nix 4.2%
  • Shell 2.4%
Find a file
2026-01-06 16:09:02 +01:00
xcceleroute rtnlmon: various fixes to make it compile, again 2026-01-05 21:06:14 +01:00
xcceleroute-common Initial commit 2025-12-09 20:45:51 +01:00
xcceleroute-ebpf formatting 2026-01-01 22:28:59 +01:00
.gitignore Initial commit 2025-12-09 20:45:51 +01:00
Cargo.lock rtnlmon: prepare building route trie 2025-12-30 00:24:17 +01:00
Cargo.toml Initial commit 2025-12-09 20:45:51 +01:00
devrun.sh add run script for developing 2025-12-23 14:43:52 +01:00
flake.lock nix: init; minor cleanups 2026-01-01 21:39:11 +01:00
flake.nix nix: fix rustup mock 2026-01-06 16:09:02 +01:00
LICENSE Initial commit 2025-12-09 20:45:51 +01:00
README.md Initial commit 2025-12-09 20:45:51 +01:00
rustfmt.toml Initial commit 2025-12-09 20:45:51 +01:00

xcceleroute

This project is WIP.

Linux routing accelerator based on XDP. Xcceleroute can be used to forward (route) traffic between interfaces by-passing most of the Linux kernel IP stack.

License

Xcceleroute is distributed under the terms of the GNU General Public License, Version 2 or later. of either the [MIT license] or the [Apache License] (version 2.0), at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Development

Prerequisites

  1. stable rust toolchains: rustup toolchain install stable
  2. nightly rust toolchains: rustup toolchain install nightly --component rust-src
  3. (if cross-compiling) rustup target: rustup target add ${ARCH}-unknown-linux-musl
  4. (if cross-compiling) LLVM: (e.g.) brew install llvm (on macOS)
  5. (if cross-compiling) C toolchain: (e.g.) brew install filosottile/musl-cross/musl-cross (on macOS)
  6. bpf-linker: cargo install bpf-linker (--no-default-features on macOS)

Build & Run

Use cargo build, cargo check, etc. as normal. Run your program with:

cargo run --release

Cargo build scripts are used to automatically build the eBPF correctly and include it in the program.