⚡ High-performance, 3GPP standards-compliant 5G Core Network Functions implementation in Rust
- 🎯 Project Overview
- 💫 Project Scope
- 🏗️ Project Structure
- 🚀 Getting Started
- ⚙️ Configuration
- 🧪 Testing
- 🤝 Contributing
- 🌐 Community
UnifyAir Core implements the following Network Functions (NFs):
- 🛡️ Omnipath (AMF - Access and Mobility Management Function)
- Handles mobility management
- User authentication and authorization
- Access control and security procedures
- UE registration and connection management
-
🌊 DataWarp (UPF - User Plane Function)
- Packet routing and forwarding
- QoS handling for user plane traffic
- Traffic measurement and reporting
- Packet inspection and policy enforcement
-
🔄 InfiniSync (SMF - Session Management Function)
- Session establishment, modification, and release
- IP address allocation and management
- Traffic steering control
- QoS policy implementation
- ⚡ Async-first architecture using Tokio runtime
- 🚀 High-performance network packet processing
- 📋 Standards-compliant 5G NF implementations
- 🧩 Modular design for easy extension and modification
- 📊 Comprehensive logging and monitoring
- 🔌 REST APIs for configuration and management
- 🔒 Enhanced security features and encryption
- 🔄 Additional Network Function implementations
- ⚡ Performance optimization and scaling improvements
- 📈 Extended monitoring and analytics
- ☁️ Cloud-native deployment support
unifyair-core/
├── lightning-nf/ # Network Functions implementations
│ └── omnipath/ # AMF (Access and Mobility Management Function)
├── lightning-cli/ # Command-line interface tools
├── utils/ # Shared utilities and common code
├── config/ # Configuration files
│ ├── amfcfg.yaml # AMF configuration
│ ├── smfcfg.yaml # SMF configuration
│ └── upfcfg.yaml # UPF configuration
├── Cargo.toml # Rust package manifest
├── rust-toolchain.toml # Rust toolchain configuration
└── run.sh # Utility script for running the project
- Rust 1.82 or above nightly
- Cargo package manager
-
Clone the repository:
git clone https://github.com/unifyair/unifyair-core.git cd unifyair-core
-
Install dependencies:
cargo build
-
For detailed setup instructions, refer to SETUP.md
Configuration is managed through:
- Environment variables
- Configuration files in
config/
- Command line arguments
Run the test suite:
cargo test
We welcome contributions! Please see our CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to your fork
- Submit a Pull Request