Skip to content

Add L2 FAPI Proxy for multi-UE simulation

Overview

This MR adds the L2 FAPI Proxy module, enabling large-scale multi-UE simulation through Layer 2 (MAC-to-MAC) communication between OAI gNB and UE instances without physical layer processing.

Our team previously developed and pushed the l2-sim-new branch based on w25. This MR represents a rebase to w48 (the latest tag) to enable merging into develop. The L2 Proxy and UE L2 Simulation Mode code is based on the EpiSci Multi-UE Proxy and has been enhanced with production-ready deployment infrastructure.

Key Features

  • L2 FAPI Proxy: Standalone module that acts as virtual PHY layer between gNB (VNF mode) and UE (STANDALONE_PNF mode)
  • Multi-UE Support: Tested with 50+ concurrent UEs in real-time on single multi-core server
  • PHY Abstraction: Downlink (PDSCH) PHY abstraction with error model based on CSI traces
  • NR Standalone (SA): Full SA mode support with single gNB
  • Kubernetes Deployment: Production-ready Helm charts for complete 5G deployment (core network + RAN)
  • Development Dockerfiles: Container images for streamlined development and testing

Architecture

The proxy enables socket-based nFAPI communication between gNB and multiple UEs with uplink/downlink packet queueing and PHY abstraction models.

L2 Proxy Architecture

What's Included

L2 FAPI Proxy Module (l2-fapi-proxy/)

  • Proxy implementation with nFAPI P5/P7 interfaces
  • Modified open-nFAPI library for NR support
  • Standalone Makefile-based build system
  • Comprehensive documentation and setup guides

Kubernetes Deployment Infrastructure

  • Helm charts for 5G core network (MySQL + 9 NFs)
  • Helm charts for gNB and multi-UE deployment
  • Development Dockerfiles (base, build, gNB-dev)
  • Configuration templates and deployment scripts

Technical Details

  • Mode: NR Standalone (SA) only, single gNB
  • Network: nFAPI P5 (50600-50601), P7 (50610-50611)
  • Deployment: Runs inside gNB container in Kubernetes

Contact

Merge request reports

Loading