This project implements an accelerated User Plane Function (UPF) datapath using NVIDIA DOCA on a DPU platform (BlueField). The goal is to offload packet processing, GTP encapsulation/decapsulation, and routing functions into hardware to greatly improve throughput while reducing CPU load.
This repository demonstrates how DOCA can accelerate UPF in a complete test setup including:
- free5GC as the 5G Core (control plane)
- UERANSIM to simulate UE and gNB traffic
- A DOCA Flow–based UPF application running on the DPU
- High-performance 5G UPF datapath using DOCA Flow
- Hardware-accelerated GTP-U traffic processing
- Uplink/downlink forwarding between N3 and N6 interfaces
- Integration support for free5GC (UPF offload)
- Simple
Makefileworkflow:make build,make run,make run-free5gc-core - Reference topology for end-to-end simulation with UERANSIM
- NVIDIA DOCA SDK installed on the host
- DOCA runtime + compatible firmware on DPU (BlueField-2 recommended)
- Linux environment with proper drivers
- Installed:
- free5GC (5G Core)
- UERANSIM (UE + gNB simulator)
- Basic understanding of Linux networking and 5G UPF concepts
make build
make run
Follow https://free5gc.org/guide/3-install-free5gc/
Modify run.sh to skip the internal UPF.
Then run:
make run-free5gc-core
Follow https://github.com/aligungr/UERANSIM Configure gNB/UE properly and run them normally.
Demo.1.mp4
- Reference/demo implementation, not production-ready
- Requires correct DOCA SDK + firmware versions
- Assumes specific network setup; may require adjustments
Author: Stanley Shen
