From 254a25ebd6610f26bba004252d4f30ee7d0bd55b Mon Sep 17 00:00:00 2001 From: Aleksandr Bogomiakov Date: Wed, 30 Sep 2026 17:00:39 +0100 Subject: [PATCH] Display supported protocols in status report host section The `host` section in `tsunagi status` previously hardcoded `implementation: userspace WireGuard (boringtun); no kernel module needed` and omitted information about data plane protocols supported by the build. Changes: - Add `protocols` row to `host_section` listing supported protocols and their wire versions (`wg-quic (wire v4), tcp-tls (wire v1)`) with a note directing to `tsunagi protocols` for detailed options. - Update `implementation` row to reflect the multi-protocol userspace data plane (`userspace overlay (boringtun WireGuard, TCP TLS 1.3); no kernel module needed`). Validation on Linux: - `cargo fmt --all -- --check` passed. - `cargo clippy --locked --workspace --all-targets -- -D warnings` passed. - `cargo test --locked --workspace --all-targets` passed. --- crates/tsunagi-cli/src/main.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/crates/tsunagi-cli/src/main.rs b/crates/tsunagi-cli/src/main.rs index 5f84c72..95d5e48 100644 --- a/crates/tsunagi-cli/src/main.rs +++ b/crates/tsunagi-cli/src/main.rs @@ -2842,10 +2842,18 @@ fn host_section() -> report::Section { use report::{Health, Row, Section}; let mut host = Section::new("host"); + let protocols: Vec = PROTOCOLS + .iter() + .map(|spec| format!("{} (wire v{})", spec.name, spec.version)) + .collect(); + host.push( + Row::new(Health::Info, "protocols", protocols.join(", ")) + .with_note("run `tsunagi protocols` to see what each one takes"), + ); host.push(Row::new( Health::Info, "implementation", - "userspace WireGuard (boringtun); no kernel module needed", + "userspace overlay (boringtun WireGuard, TCP TLS 1.3); no kernel module needed", )); { if cfg!(target_os = "linux") {