OPENAIR-CN-5G
An implementation of the 5G Core network by the OpenAirInterface community.
OPENAIR-CN-5G is an implementation of the 3GPP specifications for the 5G Core Network. At the moment, it contains the following network elements:
- Access and Mobility Management Function (AMF)
- Authentication Server Management Function (AUSF)
- Location Management Function (LMF)
- Network Exposure Function (NEF)
- Network Slicing Selection Function (NSSF)
- Network Repository Function (NRF)
- Network Data Analytics Function (NWDAF)
- Policy Control Function (PCF)
- Session Management Function (SMF)
- Unified Data Management (UDM)
- Unified Data Repository (UDR)
- Unstructured Data Storage Function (UDSF)
- User Plane Function (UPF)
Each element implementation has its own repository: this repository (oai-cn5g-upf) is meant for UPF.
The source code is distributed under Collaborative Standards Software License v1.0 (CSSL v1.0).
For more details, visit the OAI Website.
The full text of Collaborative Standards Software License v1.0 is also included in the LICENSE
file at the root of this repository.
Certain files in the repository are using MIT License and documentation is distributed under Creative Commons Attribution 4.0 International license.
For third-party softwares, please refer to the NOTICE file.
This source code is hosted and maintained on GitHub, enabling collaborative development and contribution:
- Repository: https://github.com/openairinterface/oai-cn5g-upf
Contribution guidelines and development workflows are described in the CONTRIBUTING file.
For information about supported features and capabilities, see the Feature Set.
Anyone is welcome to contribute to any part of the codebase and any network component.
Contributions can include bug fixes, suggestions, design and architecture improvements, as well as feedback on coding and implementation.
They are available on the CHANGELOG file.
oai-upf
├── build : Build directory, contains targets and object files generated by compilation of network functions.
│ ├── log : Directory containing build log files.
│ ├── scripts : Directory containing scripts for building network functions.
│ └── upf : Directory containing CMakeLists.txt and object files generated by compilation of UPF network function.
├── ci-scripts : Directory containing scripts for the CI process.
├── docker : Directory containing dockerfiles to create images.
├── docs : Directory containing documentation on the supported feature set.
│ └── images : Directory containing images for the documentation.
├── etc : Directory containing the configuration files to be deployed for each network function.
├── openshift : Directory containing YAML files for build within OpenShift context.
├── scripts : Directory containing entrypoint script for container images.
└── src : Source files of network functions.
├── common : Common header files
│ ├── msg : ITTI messages definitions.
│ └── utils : Common utilities.
├── gtpv1u : Generic GTPV1-U stack implementation
├── gtpv2c : Generic GTPV2-C stack implementation
├── itti : Inter task interface
├── oai_upf : UPF main directory, contains the "main" CMakeLists.txt file.
│ └── simpleswitch : Very Basic Switch implementation.
├── pfcp : Generic PFCP stack implementation.
└── udp : UDP server implementation.