- Fork the repository: https://github.com/sh0rch/gutd
- Create a feature branch:
git checkout -b my-feature - Make your changes and commit with a clear message
- Open a pull request against
main
- Rust stable (latest)
- Linux kernel 5.15+ with BTF enabled (
CONFIG_DEBUG_INFO_BTF=y) clang14+ andllvm-stripfor BPF compilationlibbpfdev headers
Check all build dependencies:
bash tests/check-deps.shBuild:
cargo build- Rust: standard
rustfmtformatting (cargo fmt) - BPF C: follow the style of existing files in
src/tc/bpf/ - No inline performance claims or benchmark numbers in docs
Run the integration test before submitting a PR:
sudo bash tests/integration-wg.shThe test requires a Linux host with network namespace support and WireGuard loaded.
- One logical change per PR
- Include a brief description of what changes and why
- If changing the wire protocol or BPF datapath, update
COMPLIANCE.md - If changing config keys, update
gutd.conf,src/installer.rs, andREADME.md
See SECURITY.md.
By contributing you agree that your changes will be licensed under the Apache-2.0 license.