ONEedge5G is a comprehensive project for optimized 5G network deployment using OpenNebula as a virtualization platform. The project provides a complete solution that includes automation, installation scripts, optimized configurations, and pre-configured appliances to facilitate the deployment of 5G O-RAN infrastructures with precise timing synchronization.
This repository contains everything needed to deploy a production-ready 5G O-RAN network infrastructure using OpenNebula virtualization platform. The solution supports both manual and automated deployment approaches, with a focus on ultra-low latency, high-precision timing synchronization, and optimal performance for 5G workloads.
- Complete 5G O-RAN Stack: srsRAN Project (CU/DU) + Open5GS (5G Core)
- High-Precision Timing: ITU-T G.8275.1 PTP synchronization with nanosecond accuracy
- OpenNebula Appliances: Pre-configured VM images for rapid deployment
- Performance Optimization: Real-time kernel, DPDK support, and system tuning
- Hardware Integration: Intel E810 NIC with SR-IOV and PTP support
- Automation Ready: OneDeploy integration for automated deployment
- Production Tested: Validated with RU LiteON hardware
βββ automation/ # Automation tools
β βββ appliances/ # OpenNebula appliances
β βββ onedeploy/ # OneDeploy automation
βββ configs/ # Configuration files
β βββ ptp/ # PTP synchronization configs
β βββ srsran/ # srsRAN configurations
β βββ system/ # System configurations
βββ docs/ # Documentation
β βββ automatic_deployment_guide.md
β βββ manual_deployment_guide.md
β βββ manual_deployment_guide.pdf
βββ scripts/ # Installation and optimization scripts
β βββ install/ # Installation scripts
β βββ performance/ # Performance optimization
β βββ testing/ # Testing and validation
βββ sources/ # Source packages
βββ drivers/ # Hardware drivers
βββ software/ # Software packages
- srsRAN Project Appliance: Complete 5G software radio suite with Split 7.2 support
- Open5GS (openFGS) Appliance: 5G Core Network implementation
- OneDeploy: Automated OpenNebula deployment and configuration
- Packer: Automated appliance construction
- Installation of 5G components (srsRAN, Open5GS)
- PTP synchronization configuration
- Intel ice driver installation
- Real-time kernel configuration
- Performance optimization
- PTP configurations for network synchronization
- srsRAN configurations for different scenarios
- Optimized system configurations
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β KVM OpenNebula Host β
β PTP4L Grandmaster β
β βββββββββββββββββββ βββββββββββββββββββββββββββ β
β β srsRAN VM β β Open5GS VM β β
β β (CU/DU) βββββββββββ€ (5G Core) β β
β β 32 CPU/32GB RAM β β 8 CPU/16GB RAM β β
β β VF (SR-IOV) β β β β
β β ptp_kvm sync β β β β
β βββββββββββββββββββ βββββββββββββββββββββββββββ β
β β β
β β VF from PF (SR-IOV) β
β β Host: PTP4L on PF β
βββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββββββ
β PF with PTP4L
β
βββββββββΌβββββββ βββββββββββββββ
β RU LiteON β β 5G UE β
β (Radio Unit)ββββββββββββββββ€ (Smartphonesβ
ββββββββββββββββ RF Link β Devices, β
β IoT, etc.) β
βββββββββββββββ
- CPU: Intel with SR-IOV support
- RAM: Minimum 64 GB (recommended 128 GB)
- Network: Intel E810 NIC with PTP support
- OS: Ubuntu 24.04 LTS
- Kernel: Real-time kernel (Linux 6.8.2-rt10)
- High-Precision PTP NIC: Intel E810 with nanosecond-level PTP synchronization
- SR-IOV Support: For direct hardware access to VMs
- PTP Grandmaster: Host-based PTP4L service for timing distribution
-
Clone the repository:
git clone <repository-url> cd contract-oneedge5G-uma-5g
-
Deploy OpenNebula with OneDeploy:
cd automation/onedeploy # Configure inventory.yml with your hosts ./deploy.sh
-
Deploy using appliances:
# Follow the automatic deployment guide # See docs/automatic_deployment_guide.md
-
Install host dependencies:
# Install Intel ice driver ./scripts/install/install_ice_driver.sh # Install LinuxPTP ./scripts/install/install_linuxptp.sh # Setup PTP grandmaster ./scripts/install/install_host_ptp_grandmaster.sh
-
Optimize host performance:
# Install real-time kernel ./scripts/install/install_rt_kernel.sh # Optimize KVM host ./scripts/performance/optimize_kvm_host.sh
-
Deploy VMs and configure services:
# Follow the manual deployment guide # See docs/manual_deployment_guide.md
- Real-time Kernel: Linux 6.8.2-rt10 for ultra-low latency
- DPDK Support: Dual installation (base + DPDK versions)
- Intel iavf Driver: v4.13.3 with PTP support
- LinuxPTP: v4.3 for VM clock synchronization
- Performance Optimizations: Pre-configured system tuning
- Split 7.2 Support: Complete Open Fronthaul support
- Deployment Modes: gNodeB, CU, DU
- Complete 5G SA Core: AMF, SMF, UPF, AUSF, UDM, UDR, PCF, NRF, BSF, NSSF
- WebUI: Web interface for subscriber management
- MongoDB 8.0: Subscriber database
- Pre-configured: Ready for immediate deployment
- Network Optimization: Automatic IP forwarding and NAT configuration
- ITU-T G.8275.1 Profile: Standard configuration for mobile networks
- Domain 24: Standard domain for 5G networks
- Clock Class 6: PRC (Primary Reference Clock) quality
- Layer 2 Transport: Ethernet for maximum precision
- PTP Synchronization Latency: < 1ΞΌs
- 5G Throughput: According to band configuration
- User Plane Latency: < 1ms
- VM Clock Synchronization: Nanosecond-level accuracy
- Automatic Deployment Guide: Step-by-step automated deployment
- Manual Deployment Guide: Comprehensive manual setup
- Installation Scripts README: Installation script documentation
- Performance Scripts README: Performance optimization guide
demo.sh
: Demonstration script with UE- End-to-end connectivity tests
- PTP synchronization validation
- Performance verification
- PTP synchronization accuracy
- 5G network functionality
- Performance benchmarks
- Hardware integration
Some of the software features included in this repository have been made possible through the funding of the following innovation project: ONEedge5G.