Add TUN interface with async netlink configuration

- Implement fips.rs binary with config loading, node creation, and logging
- Create src/tun.rs module (TunDevice, TunState, TunError)
- Use rtnetlink crate for IPv6 address configuration
- Make TunDevice::create() and Node::init_tun() async
- Add IPv6 disabled check with helpful error message
- Add rtnetlink, tokio, futures dependencies
- Single tokio current_thread runtime for entire driver

162 tests pass.
This commit is contained in:
Johnathan Corgan
2026-01-29 22:12:27 +00:00
parent 185fe50570
commit 6d95bdc979
7 changed files with 1258 additions and 12 deletions

View File

@@ -13,6 +13,12 @@ serde = { version = "1.0", features = ["derive"] }
serde_yaml = "0.9"
dirs = "6.0"
hex = "0.4"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tun = { version = "0.7", features = ["async"] }
rtnetlink = "0.14"
tokio = { version = "1", features = ["rt", "macros"] }
futures = "0.3"
[dev-dependencies]
tempfile = "3.15"