Multi-PC Showcase
The examples/multi-pc/ directory is the reference deployment story for vine as a real binary.
It uses four Linux machines running the same executable:
alphabetagammarelay
Each machine keeps its own libself identity file and advertises one overlay prefix into the same network:
alpha->10.42.0.0/24beta->10.42.1.0/24gamma->10.42.2.0/24relay->10.42.254.0/24
Expected Path Story
The example is designed to demonstrate three normal cases and one failure case:
alphatalks tobetaover a direct session.gammareachesbetaafter signaling-assisted setup.gammareachesalphathroughrelayif no direct path can be formed.alphafalls back torelayif the direct path tobetadisappears.
That is the intended vine operator model:
- direct when possible
- signaling when setup is needed
- relay when direct reachability fails
Narrative Walkthrough
Start with all four configs installed and one identity generated per machine.
Bring up relay first so the other nodes have a stable bootstrap target. Then start alpha, beta, and gamma.
Once all nodes are running:
vine peersshould show the allowlisted remote peersvine routesshould show owned prefixes for those peersvine sessionsshould initially favor direct or signaling-assisted paths when available
Now force a direct-path failure between alpha and beta. The expected recovery is:
- route ownership stays the same
- the preferred session changes
relay_usageandfallback_transitionsincrease- traffic still has a path through
relay
This is why relay capability belongs to the peer policy layer instead of to the overlay address itself.
Files
examples/multi-pc/README.mdexamples/multi-pc/alpha.tomlexamples/multi-pc/beta.tomlexamples/multi-pc/gamma.tomlexamples/multi-pc/relay.toml