Overview
Netvyn BNG is a clean-slate, multi-ISP carrier-grade broadband network gateway written in C on DPDK. Userspace forwarding, no kernel data path, multi-core and lock-free, NUMA-aware, auto-scaling from 16 to 64 cores on a single binary. All behaviour is runtime-configured — nothing customer-specific is compiled in.
What the daemon does
It terminates subscriber sessions (PPPoE and IPoE), authenticates and accounts them via RADIUS, applies CGNAT and stateful firewalling, shapes traffic with hierarchical QoS, and emits regulator-grade compliance logs — all with a run-to-completion fast path that is provably free of allocation, locks and syscalls.
Supported platforms
FreeBSD 14.3 is the primary platform; Linux with systemd is also supported. The auto-scaling planner covers 16 to 64 cores from one binary.
OS FreeBSD 14.3 (primary) / Linux (systemd) CPU x86-64, 16-64 cores (auto-scaling planner) Data plane DPDK 25.11 (symbols target 22.11+) NICs DPDK-supported; SR-IOV / passthrough for line rate Memory hugepages (1 GB recommended in production)
Quick start
Build, run, then configure. The topology planner auto-assigns MAIN, CONTROL and WORKER roles from the EAL coremask and logs the full plan at startup — confirm that plan before going further.
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig meson setup build && ninja -C build ./build/bng -l 0-15 -n 4 -- bng-cli <Netvyn-BNG> system-view [Netvyn-BNG] ... [Netvyn-BNG] commit [Netvyn-BNG] save