What ships in this release
Setup Wizard (end-to-end first-run)
Fresh install → first-run URL in the install banner → 7-step wizard:
- Platform Settings — hostname, timezone, admin email, NTP
- DPDK Bind — drag NICs from Kernel to VPP column. Mgmt-port lock refuses to bind any PCI function on the same slot as the management interface (protects your SSH session).
- CPU Pinning — auto-computed on mount using the NUMA node of the NICs you just bound; the data plane never lands on a different socket than its NICs.
- Data Plane — pick uplink and access interfaces from the VPP-bound set.
- Plans / IP Pools / Authentication / Captive Portal / TLS
- Review & Apply — one click, all sections applied. A clean run lands 7/7 green.
Management plane (QuantumTouch)
- Dashboard, Topology, Sessions, Health, Audit (with rev_id chips, deep-link from events to point-in-time timeline, and "return to live"), Hardware
- Subscribers, AAA (Local), Pools & DNS, Subscriber Plans, Portal Config, Vouchers, Edge Routers, Dataplane
- API Keys management (mint, revoke, roles, scoping)
- Snapshots (settings + state, hash-verified, MERGE + REPLACE restore modes)
- Two-layer security:
- Machine-to-machine — the bootstrap admin API key, plus per-service keys the shim and captive portal use to reach the controller over authenticated HTTPS
- User login — QuantumTouch's own auth (password policy, optional MFA, session management, audit log, LDAP + passkey/WebAuthn + SAML supported)
Control plane (Quantum Controller)
See Appendix A for the full controller team notes. Headline:
- Local AAA — no RADIUS server required. Two modes:
open(accept-all) andgated(per-line policy keyed on DHCP Option 82 identity). - 1,000 concurrent-subscriber cap in the VPP plugin (tamper-resistant, plugin-side).
- DHCP lease-expiry timers independent of session/idle timeouts.
- Plan-edit propagation —
PUT /bng/plans/{name}re-rates every live session on that plan in place. - Auth required by default — Bearer API keys, hashed at rest, role-based (
read_only/read_write/admin_only).
Data plane (VPP)
- Line-rate forwarding on tested NICs (see NIC compatibility matrix below)
- NUMA-aware CPU pinning — auto-fill picks main + workers from the same socket as the bound NICs. Cross-NUMA data-plane pinning is a well-known throughput killer; the wizard now steers you away from it by default.
- Per-core worker threads on isolated CPUs (GRUB
isolcpusset from wizard's selections) - 1 GB hugepages (default 8 × 1G)
Captive portal
- Local mode —
bng-portal.serviceon:8088/, ships enabled and Bearer-authenticated to the shim - Voucher-based redemption supported
- External-URL redirect mode requires you to host your own portal (see Known limitations)
Observability
- Prometheus TSDB (14-day default retention) scraping
/metricsevery 5s - Dashboards for sessions, DHCP reply-path, session-cap headroom
- Sticky event history with RESOLVED badge, start/end/duration
- CPE fleet simulator via
quantumtest(harness for load and churn testing; separate repo)