Commit 835cac7b authored by Raphael Defosseux's avatar Raphael Defosseux

DOC: reformating readme

Signed-off-by: default avatarRaphael Defosseux <raphael.defosseux@openairinterface.org>
parent 5a2d6b11
# RELEASE NOTES: #
## v1.0.0 -- May 2019 ##
* First release, Able to serve a MME with basic attach, detach, release, paging procedures, default bearer only.
# Contributing to OpenAir-CN #
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 [GitHub](https://github.com).
3. Provide the identifiant 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 GitHub repository](https://github.com/OPENAIRINTERFACE/openair-spgwu-tiny).
- Please make the name of the branch explicit and short.
2. You create a pull request from the [dedicated web page](https://github.com/OPENAIRINTERFACE/openair-spgwu-tiny/pulls).
- 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.
# openair-cn-cups
Control User Plane Separation of SPGW-C and SPGW-U
├── http://www.openairinterface.org/?page_id=698
------------------------------------------------------------------------------
It is distributed under OAI Public License V1.0.
The license information is distributed under LICENSE file in the same directory.
OPENAIR-CN
An implementation of the Evolved Packet Core network.
The OpenAirInterface CN CUPS software is composed of the following parts:
------------------------------------------------------------------------------
openair-cn-cups
Openair-cn is an implementation of the 3GPP specifications concerning the
Evolved Packet Core Networks, that means it contains the implementation of the
following network elements:
* MME,
* HSS,
* S-GW+P-GW.
Each element implementation has its own repository: this repository (`openair-spgwu-tiny`) is meant for SPGW-U.
# openair-spgwc
In the Control User Plane Separation of SPGW, only the SPGW-U (User Plane) implementation is available in this repo.
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 in the same directory.
# Where to start
The Openair-cn SPGW-U code is written, executed, and tested on UBUNTU server bionic version.
More details on the deployment options and the supported feature set is available on this [page](docs/FEATURE_SET.md).
# Collaborative work
This source code is managed through a GITHUB, a collaborative development platform
Process is explained in [CONTRIBUTING](CONTRIBUTING.md) file.
# Directory structure
<pre>
openair-spgwu-tiny
├── 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
├── spgw_c : Directory containing CMakefile.txt and object files generated by compilation of SPGW-C network function.
├── spgw_u : Directory containing CMakefile.txt and object files generated by compilation of SPGW-U network function.
└── ci-scripts : Directory containing scripts for the CI process
│ ├── log : Directory containing build log files.
│ ├── scripts : Directory containing scripts for building network functions
│ └── spgw_u : Directory containing CMakefile.txt and object files generated by compilation of SPGW-U network function.
├── ci-scripts : Directory containing scripts for the CI process
├── etc : Directory containing the configuration files to be deployed for each network function.
└── src : Source files of network functions.
├── common : Common header files
......@@ -22,15 +52,9 @@ openair-cn-cups
├── gtpv1u : Generic GTPV1-U stack implementation
├── gtpv2c : Generic GTPV2-C stack implementation
├── itti : Inter task interface
├── oai_spgwc : SPGW-C main directory, contains the "main" CMakeLists.txt file.
├── oai_spgwu : SPGW-U main directory, contains the "main" CMakeLists.txt file.
├── pfcp : Generic PFCP stack implementation.
├── pgwc : PGW-C network fonctions procedures and contexts.
├── sgwc : SGW-C network fonctions procedures and contexts.
├── spgwu : SPGW-U network fonctions procedures and contexts.
│   └── simpleswitch : Very Basic Switch implementation.
├── pfcp : Generic PFCP stack implementation.
└── udp : UDP server implementation.
</pre>
RELEASE NOTES:
v1.0.0 -> First release, Able to serve a MME with basic attach, detach, release, paging procedures, default bearer only.
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