Skip to content

nycu-ucr/L25GC-plus

Repository files navigation

L25GC+: A Low-latency, 3GPP-compliant 5G Core Network

About

L25GC+ is a re-architected 5G Core (5GC) that reduces latency and improves user experience by minimizing control plane impact on the data plane and optimizing packet processing. Built on free5GC and OpenNetVM, L25GC+ uses X-IO to eliminate message serialization and HTTP overheads in 3GPP SBI, enabling fast, synchronous communication between NFs. L25GC+ integrates with free5GC NFs via compatible SBI APIs from X-IO, easing adoption with minimal code changes. In testbed evaluations, L25GC+ achieves 2× lower data plane latency during paging and handover compared to free5GC.

For more design details, please refer to:

Recent Updates

  • Apr 2026: Released Tutorial 1 and Tutorial 2 for hands-on L25GC+ deployment and experiments on NSF Fabric.

🔥 Start Here 🔥

We recommend starting with the following tutorial on NSF Fabric. This tutorial walks through how to deploy L25GC+ and validate basic end-to-end connectivity using UERANSIM. It also offers more advanced experiment workflows using OAI UE/RAN, including handover experiments.

🔥 Tutorial README 🔥

Deployment Guides

L25GC+ supports multiple deployment and experiment workflows.

  • CloudLab deployment guide: Full setup, installation, and experiment workflow on CloudLab
  • FABRIC deployment guide: Deployment and experiment workflow on FABRIC

See:

Tested OS Distributions

OS Distribution Status Notes
Ubuntu 24.04 ⚠️ Untested All dependencies available via apt or pip
Ubuntu 22.04 ✅ Works out of the box All dependencies available via apt or pip
Ubuntu 20.04 ✅ Works out of the box All dependencies available via apt or pip
Ubuntu 18.04 ⚠️ Untested Likely requires upgrading GCC, Python, and installing recent Meson manually

Dependency Versions

Component Version Installation Notes
DPDK 24.07.0 Built from source using Meson
Pktgen-DPDK 24.07.0 Compatible with the same DPDK version
dpdk-kmods commit@9b182be Required only for igb_uio (optional)
Meson >=0.58.0 Recommended: 0.61.2+; use pip3 install meson
Ninja >=1.10.0 Usually installed via apt

Submodules in L25GC-plus/NFs/

The NFs/ directory contains X-IO and all the L25GC+ NFs.

Module Description Language Commit
amf Access and Mobility Management Function — handles UE registration and mobility Go a186198
ausf Authentication Server Function — performs UE authentication procedures Go 0cb2ece
chf Charging Function — manages charging-related interfaces (if implemented) Go 088bd10
nrf Network Repository Function — supports service registration/discovery Go e4c12be
nssf Network Slice Selection Function — selects network slice per UE session Go a6b6472
onvm-upf User Plane Function — data plane packet handling implemented via ONVM C f4423e8
pcf Policy Control Function — enforces policy rules for QoS, access, charging Go 1de2b6c
smf Session Management Function — handles PDU sessions and tunnel setup Go fbb1e3e
udm Unified Data Management — manages user identity and subscription access Go 147cabe
udr Unified Data Repository — stores structured user data Go fce77b3
xio Unified I/O interface between Golang NFs and ONVM stack Go/C 464d9d5

Contact

For questions, feedback, or collaboration inquiries:

Email: l25gc@googlegroups.com
Join our Google Group


License

L25GC+ is released under the Apache 2.0 License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors