Commit 727099f2 authored by Raphael Defosseux's avatar Raphael Defosseux

Initial commit

Signed-off-by: default avatarRaphael Defosseux <raphael.defosseux@eurecom.fr>
parents
# RELEASE NOTES: #
## vX.X.X -- YYY 2021 ##
* Initial release
# Contributing to OpenAir-CN-5G #
We want to make contributing to this project as easy and transparent as possible.
Please refer to the steps described on our website: [How to contribute to OAI](https://www.openairinterface.org/?page_id=112)
1. Sign and return a Contributor License Agreement to OAI team.
2. Create an account on [Eurecom GiLab Server](https://gitlab.eurecom.fr/users/sign_in) if you do not have any.
- If your email domain (`@domain.com`) is not whitelisted, please contact us (mailto:contact@openairinterface.org).
- Eurecom GitLab does NOT accept public email domains.
3. Provide the `username` of this account to the OAI team (mailto:contact@openairinterface.org) so you have developer rights on this repository.
4. The policies are described in these wiki pages: [OAI Policies](https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/oai-policies-home)
- You can fork onto another hosting system. But we will **NOT** accept a pull request from a forked repository.
* This decision was made for the license reasons.
* The Continuous Integration will reject your pull request.
- All pull requests SHALL have **`develop`** branch as target branch.
## Coding Styles ##
We are using `clang-format` as formatting tool on the C/C++ code.
At the time of writing (March 30th, 2020), we are using `clang-format` version 8.0.0 or above. By default, on a Ubuntu bionic Desktop edition, you would install version 6.0.0.
So it is very likely you will have to install it manually. Again, at the time of writing, the working version we found was 9.0.0.
```bash
$ wget https://releases.llvm.org/9.0.0/clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz
$ mkdir clang_tmp
$ tar xvfJ clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz -C ./clang_tmp
$ sudo cp clang_tmp/clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/clang-format /usr/bin/clang-format
$ rm -Rf clang*
$ clang-format --version
clang-format version 9.0.0 (tags/RELEASE_900/final)
```
How to format:
```bash
$ cd myClonedWorkspace/src
$ clang-format -i theFilesYouWantToFormat
```
## License ##
By contributing to OpenAirInterface, you agree that your contributions will be licensed under the [LICENSE](LICENSE) file in the root directory of this source tree.
## Continuous Integration process ##
1. You push your modified code with the new branch onto our [official GitLab repository](https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-upf-vpp).
- Please make the name of the branch explicit and short.
2. You create a pull request from the [dedicated web page](https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-upf-vpp/-/merge_requests).
- The `target` (`base` in the web-page) branch **SHALL be `develop`**.
- The `source` (`compare` in the web-page) branch is your branch.
3. Our Continuous Integration (CI) process will be triggered automatically on your proposed modified code and check the validity.
- Check build
- Check some formatting rules
- Run a bunch of tests
4. If at least one of these steps fails, you will have to push corrections onto your source branch.
- The step 3. will be again automatically triggered on this new commit.
- Please wait that your run is finished before committing and pushing new modifications on your source branch.
- That will allow fairness on the CI usage to other contributors.
4. When this automated process passes, one of our CI administrators will review your changes or assign a senior contributor
to do a peer-review.
5. Once the peer reviewer accepts your modification, one of our CI administrators will accept and merge your pull request
- The CI will run again on the new `develop` branch commit.
- The source branch WILL be deleted by one of our CI administrators.
This diff is collapsed.
------------------------------------------------------------------------------
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**)
* Network Repository Function (**NRF**)
* Session Management Function (**SMF**)
* Unified Data Management (**UDM**)
* Unified Data Repository (**UDR**)
* User Plane Function (**UPF**)
Each has its own repository: this repository (`oai-cn5g-upf-vpp`) is meant for UPF.
# Licence info
It is distributed under `OAI Public License V1.1`.
See [OAI Website for more details](https://www.openairinterface.org/?page_id=698).
The text for `OAI Public License V1.1` is also available under [LICENSE](LICENSE)
file at the root of this repository.
# Where to start
The Openair-CN-5G UPF code is written, executed, and tested on UBUNTU server bionic version.
Other Linux distributions support will be added later on.
More details on the supported feature set is available on this [page](docs/FEATURE_SET.md).
# Collaborative work
This source code is managed through a GITLAB server, a collaborative development platform:
* URL: [https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-upf-vpp](https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-upf-vpp).
Process is explained in [CONTRIBUTING](CONTRIBUTING.md) file.
# Contribution requests
In a general way, anybody who is willing can contribute on any part of the
code in any network component.
Contributions can be simple bugfixes, advices and remarks on the design,
architecture, coding/implementation.
# Release Notes
They are available on the [CHANGELOG](CHANGELOG.md) file.
# Repository Structure:
The OpenAirInterface CN UPF software is composed of the following parts:
<pre>
openair-cn5g-upf-vpp
├── ci-scripts: Directory containing the script files for CI framework.
└── src: Source files of UPF.
├── common: Common header files
</pre>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment