Overview
A lab 5G core in early beta. Stand up DMF, DPF, NRF, and UPF on a laptop to learn, test, and prototype against — not a complete core, and not production-ready.
What dflux TinyCore is
dflux TinyCore is a small 5G core for labs, in early beta. It packs a working subset of 5G control- and user-plane functions into a handful of Go processes so you can bring up a core, register a UE, and forward user traffic without wrangling a sprawl of services. It is built for lab operators, 5G engineers, and learners — not a complete core, and not for carrier-scale production.
The network functions
Rather than running a separate process for every 3GPP network function, dflux TinyCore groups them into four core binaries. The interfaces between functions that live in the same process are plain in-process calls, while the interfaces that cross process boundaries are real 3GPP protocols. Two optional NFs — NSSF and SMSF — ship as their own processes when you need them.
- DMF — the d3x Management Function, combining the AMF (Access and Mobility Management) and SMF (Session Management). It speaks NGAP to the gNB and PFCP to the UPF.
- DPF — the d3x Policy Function, combining the AUSF, UDM, UDR, and PCF. It authenticates subscribers, holds their data, and supplies policy.
- NRF — a standalone Network Repository Function for NF registration, discovery, and heartbeats.
- UPF — a standalone User Plane Function that forwards UE traffic between the radio side (N3/GTP-U) and the data network (N6).
- NSSF (optional) — Network Slice Selection Function for allowed / configured NSSAI at registration.
- SMSF (optional) — SMS Function for mobile-originated and mobile-terminated SMS over NAS.
For the full breakdown of what each process owns, see Network functions.
What it runs today
In early beta, TinyCore runs a real attach sequence — registration, 5G-AKA, a PDU session, and user-plane forwarding — on a laptop. That is the lab path, not a complete core and not a compose-packaged golden path:
- A gNB connects over N2 (NGAP/SCTP) and a UE starts registration.
- The UE is authenticated with 5G-AKA against the DPF (AUSF/UDM).
- The UE establishes a PDU session; the SMF programs the UPF over N4 (PFCP) and an IP is assigned from the UE pool.
- User-plane traffic flows: GTP-U over N3 from the gNB to the UPF, then out to the data network over N6.
The Quickstart runs the four required NFs as native processes. An optional Docker lab exists for a packaged topology; it is not the path these docs start from.
Lab topology
What's in and out of scope
In scope: UE registration, 5G-AKA authentication, PDU session establishment, policy control, user-plane forwarding over a single PLMN, optional slice selection (NSSF), and optional SMS over NAS (SMSF). dflux TinyCore deliberately leaves out features a lab core does not need.
Where to go next
- Why dflux TinyCore — the problem it solves and where it fits.
- Quickstart — install the binaries, run the four required NFs natively, and register a UE in about ten minutes.