wanctl Control Plane

activeintentverified 2026-07-20

This document describes the control boundaries around adaptive WAN shaping and optional traffic steering.

wanctl improves latency under changing link conditions. It does not replace static security policy, baseline routing, or operator authority.

Design principles: see Lab Philosophy.


Purpose

The control plane is designed to:

Adaptive shaping is the primary function. Routing changes are optional, separately bounded behavior.


Two Rate-Control Modes

The architecture supports two service models.

Native Controller

In native mode, one controller instance per WAN:

This is the portable default and uses the same control logic across link types; link-specific behavior comes from configuration rather than code branches.

External Rate Controller

In external mode, an upstream CAKE autorate process owns reflector measurement and rate decisions. A state bridge then:

External mode changes who owns rate decisions, not the state and observability contract. Native and external controllers are mutually exclusive for a given WAN so two writers cannot fight over the same queue.


Control Inputs and Outputs

The controller evaluates a bounded set of signals, including:

It produces:

Missing or low-confidence inputs reduce authority. They do not justify an unbounded rate or route change.


Steering Is a Separate Control Loop

Queue control asks how quickly packets should leave a congested link. Steering asks which WAN a new connection should use. Those are separate decisions.

Optional steering:

A high-priority queue class does not automatically grant permission to move a connection to another WAN.


Route-Ownership Boundary

Whole-route failover remains distinct from congestion steering. Active route mutation is guarded while another router-side mechanism owns default-route failover.

Observation and dry-run surfaces may record intended actions, but they do not implicitly authorize route changes. Any future ownership transfer requires:

Degraded congestion alone must not move the entire network onto a lower-capacity alternate path.


Explicit Non-Authority

The control plane does not own:

Those remain static, separately reviewed boundaries.


Observability Contract

Operators and monitoring should be able to determine:

Native and external modes intentionally expose compatible state, health, and metrics so changing the rate owner does not blind the surrounding system.


Safety and Failure Behavior

The system favors stable degradation over aggressive automation:

When a still-powered inline shaper or controller fails, a watchdog may bypass the bridge and preserve raw connectivity without CAKE. That is a degraded state, not successful shaping. Internal powered bypass does not cover complete host power loss.


Design Invariants