Skip to content

Latest commit

 

History

History
59 lines (39 loc) · 1.34 KB

File metadata and controls

59 lines (39 loc) · 1.34 KB

Contributing to gutd

Getting Started

  1. Fork the repository: https://github.com/sh0rch/gutd
  2. Create a feature branch: git checkout -b my-feature
  3. Make your changes and commit with a clear message
  4. Open a pull request against main

Development Requirements

  • Rust stable (latest)
  • Linux kernel 5.15+ with BTF enabled (CONFIG_DEBUG_INFO_BTF=y)
  • clang 14+ and llvm-strip for BPF compilation
  • libbpf dev headers

Check all build dependencies:

bash tests/check-deps.sh

Build:

cargo build

Code Style

  • Rust: standard rustfmt formatting (cargo fmt)
  • BPF C: follow the style of existing files in src/tc/bpf/
  • No inline performance claims or benchmark numbers in docs

Testing

Run the integration test before submitting a PR:

sudo bash tests/integration-wg.sh

The test requires a Linux host with network namespace support and WireGuard loaded.

Pull Request Guidelines

  • 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, and README.md

Reporting Security Issues

See SECURITY.md.

License

By contributing you agree that your changes will be licensed under the Apache-2.0 license.