tpt-novacore

Rust

3GPP-compliant 6G mobile core in Rust — async AMF/SMF control plane over a Service-Based Architecture, with a kernel-bypass User Plane Function (UPF). Hand-written GTP-U/PFCP/NGAP codecs, Raft-backed state, round-trip-tested protocols.

0 stars0 forks0 watchersApache License 2.0

Languages

Rust100.0%
README

TPT-NovaCore

A 3GPP-compliant, cloud-native 6G Mobile Core (AMF / SMF / UPF) written in Rust.

See spec.txt for the product vision and TODO.md for the phased roadmap and honest status notes.

Status: early development. The workspace builds and tests green, protocol codecs (GTP-U, PFCP) round-trip, and the control-plane service scaffolding is in place. Data-plane acceleration (XDP/DPDK), distributed state, and the full 3GPP procedure set are still in progress — see TODO.md for exactly what is and is not done. Performance claims in spec.txt ("millions of pps", "microsecond latency") are not yet measured and must not be quoted as fact.

Workspace layout

CrateRole
tpt-novacore-commonShared error types, IDs (SUPI/GUTI/TEID/SEID), and utilities
tpt-novacore-protoNative protocol codecs: GTP-U, PFCP, NGAP (Protocol-as-Code)
tpt-novacore-sbaService-Based Architecture scaffolding (gRPC/HTTP2, discovery)
tpt-novacore-stateDistributed subscriber state store (Raft / UDM-UDR model)
tpt-novacore-amfAccess and Mobility Management Function
tpt-novacore-smfSession Management Function
tpt-novacore-upfUser Plane Function (data path)

Building

cargo build --workspace
cargo test  --workspace
cargo clippy --workspace --all-targets -- -D warnings
cargo fmt --all --check

Rust 1.82+ (edition 2021) is required. See CLAUDE.md for architecture and contribution notes.

Platform notes

The Control Plane (AMF/SMF) and all protocol codecs build and test on any platform, including Windows and macOS. The UPF data-plane acceleration path (XDP/eBPF via aya, io_uring, DPDK/VPP) requires Linux and, for real NIC validation, bare-metal or a cloud VM with SR-IOV/DPDK-capable NICs. WSL2 is suitable for control-plane development but not for validating kernel-bypass I/O.

License

Apache-2.0. See LICENSE.