Skip to main content

Module traits

Module traits 

Source
Expand description

Layer 4 — capability traits.

Backends implement the subset they can. The CLI holds them as trait objects (Box<dyn Trait>) so NetworkManager, netlink, or shell-out backends can be selected at runtime based on what’s available.

All traits are object-safe: no generics on methods, no Self returns, no async (we stay sync for a sub-100ms CLI).

Traits§

Actions
Write operations on connections (requires NetworkManager or similar).
Diagnostician
Orchestrates the others into end-to-end health checks and path probes.
Firewall
Firewall posture.
Inventory
Domain-level inventory. Composes primitives into Connection etc., applies smart filtering (IPv6 collapse, APIPA, metadata IPs).
InventoryRaw
Raw kernel-primitive inventory. Backends implementing this expose unfiltered data for jip raw *.
Reachability
Active probes: ICMP, TCP connect, TLS handshake, HTTP HEAD, traceroute.
Resolver
DNS resolution, per-link resolver discovery.