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.
This commit is contained in:
Aleksandr Bogomiakov committed 2026-09-30 17:00:39 +01:00
1 parent 5495cb5b34
commit 254a25ebd6
1 file changed
+9 -1
+9 -1
View File
@@ -2842,10 +2842,18 @@ fn host_section() -> report::Section {
use report::{Health, Row, Section};
let mut host = Section::new("host");
let protocols: Vec<String> = 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") {