No description
- Rust 70.4%
- C 26.3%
- Shell 1.8%
- Makefile 1.5%
| include | ||
| src | ||
| tools | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| Kbuild | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| rust-toolchain.toml | ||
inet8-rust
A minimal IPv8 Layer-3 network stack implemented as a Linux kernel module in Rust.
Requirements
| Requirement | Minimum version |
|---|---|
| Linux kernel | 6.11 (Rust support officially stabilised) |
| Kernel config | CONFIG_RUST=y must be enabled |
| Rust toolchain | 1.85.0 (see rust-toolchain.toml) |
Note: Starting with kernel 7.1 the minimum required Rust version is expected to be raised to 1.85.0 (the version shipped with Debian 13 "Trixie"). This repository already targets that baseline.
Building
Against the running kernel
make
Against a specific kernel
make KDIR=/lib/modules/<version>/build
Without kernel headers (unit tests / cargo check)
make check # cargo check
make test # cargo test
Installation
sudo make modules_install
sudo depmod -a
sudo modprobe inet8
Kernel version notes
| Kernel | Rust support | Notes |
|---|---|---|
| < 6.1 | none | Not supported |
| 6.1 – 6.10 | experimental | Unstable ABI, not recommended |
| 6.11+ | official | Minimum supported version |
| 7.0+ | stable / first-class | Recommended |
License
GPL-3.0 — see LICENSE.