-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
db91791
commit b008916
Showing
10 changed files
with
205 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# OAI Core Network | ||
|
||
## 1. Set Up | ||
For our test the version 1.5.0 was used. | ||
### 1.1 Core-host Configurations | ||
```shell | ||
sudo sysctl net.ipv4.conf.all.forwarding=1 | ||
sudo iptables -P FORWARD ACCEPT | ||
``` | ||
|
||
### 1.2 Clone oai-cn5g-fed | ||
```shell | ||
git clone https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git | ||
git checkout v1.5.0 | ||
``` | ||
|
||
### 1.3 Changing Core Settings | ||
|
||
```shell | ||
git clone https://github.com/eduardoschulz/Interoperabilidade.git | ||
cd Interoperabilidade/core-networks/OAI-CN/ | ||
|
||
rm -r ~/oai-cn5g-fed/docker-compose/database | ||
cp -r database ~/oai-cn5g-fed/docker-compose/database | ||
|
||
mv docker-compose-basic-nrf.yaml ~/oai-cn5g-fed/docker-compose/ | ||
``` | ||
|
||
### 1.4 gNB-host Configurations | ||
You also must configure a route to the internal docker network so that the gNB can make a connection. | ||
|
||
```shell | ||
sudo ip route add route 192.168.70.128/26 via {ip_addr_corehost} dev {interface} | ||
|
||
#example | ||
sudo ip route add route 192.168.70.128/26 via 191.4.205.38 dev br01 | ||
``` | ||
|
||
## 2.0 Deploying the Core Network | ||
|
||
+ To start the core | ||
```shell | ||
cd path-to/oai-cn5g-fed/docker-compose | ||
python3 core-networks.py --type start-basic --scenario 1 | ||
``` | ||
+ To stop the core | ||
```shell | ||
python3 core-networks.py --type stop-basic --scenario 1 | ||
``` | ||
|
||
## 3.0 More Information | ||
|
||
[Basic Deployment using Docker Compose](https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed/-/blob/master/docs/DEPLOY_SA5G_BASIC_DEPLOYMENT.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# Configuration files for OPENAIRINTERFACE NR-5G | ||
|
||
## gNB | ||
|
||
```configfile | ||
amf_ip_address = ( { ipv4 = "CHANGE for your ip addr to AMF";}); | ||
NETWORK_INTERFACES : | ||
{ | ||
GNB_INTERFACE_NAME_FOR_NG_AMF = "CHANGE for your interface"; #eth0 | ||
GNB_IPV4_ADDRESS_FOR_NG_AMF = "CHANGE for your ip addr"; #191.4.205.128/23 | ||
GNB_INTERFACE_NAME_FOR_NGU = "CHANGE for your interface"; #eth0 | ||
GNB_IPV4_ADDRESS_FOR_NGU = "CHANGE for your ip addr"; #191.4.205.128/23 | ||
GNB_PORT_FOR_S1U = 2152; # Spec 2152 | ||
}; | ||
``` | ||
|
||
## CU/DU Split | ||
|
||
### CU | ||
|
||
```configfile | ||
local_s_if_name = "CHANGE for your interface"; #lo | ||
local_s_address = "CHANGE for your ip addr of preference"; #127.0.0.4 | ||
remote_s_address = "CHANGE for your DU ip addr"; #127.0.0.3 | ||
amf_ip_address = ( { ipv4 = "CHANGE for your ip addr to AMF";}); | ||
NETWORK_INTERFACES : | ||
{ | ||
GNB_INTERFACE_NAME_FOR_NG_AMF = "CHANGE for your interface"; #eth0 | ||
GNB_IPV4_ADDRESS_FOR_NG_AMF = "CHANGE for your ip addr"; #191.4.205.128/23 | ||
GNB_INTERFACE_NAME_FOR_NGU = "CHANGE for your interface"; #eth0 | ||
GNB_IPV4_ADDRESS_FOR_NGU = "CHANGE for your ip addr"; #191.4.205.128/23 | ||
GNB_PORT_FOR_S1U = 2152; # Spec 2152 | ||
}; | ||
``` | ||
### DU | ||
|
||
```configfile | ||
local_s_if_name = "CHANGE for your interface"; #lo | ||
local_s_address = "CHANGE for your ip addr of preference"; #127.0.0.3 | ||
remote_s_address = "CHANGE for your CU ip addr"; #127.0.0.4 | ||
``` | ||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
# RANs | ||
|
||
## Open Air Interface | ||
[OpenAirInteface](oai/README.md) | ||
For our testing it was used the tag 2023.w50. | ||
### How to Build | ||
|
||
+ [UHD - Build Instructions](https://files.ettus.com/manual/page_build_guide.html) | ||
+ [OAI - Build Instructions(No E2Agent)](https://gitlab.eurecom.fr/oai/openairinterface5g/-/blob/develop/doc/BUILD.md) | ||
+ [OAI - Build Instructions(Flexric)](https://gitlab.eurecom.fr/oai/openairinterface5g/-/blob/develop/openair2/E2AP/README.md) | ||
|
||
#### Build with Flexric | ||
In this setup we have used oai built with the _--build-e2_ flag. | ||
```shell | ||
|
||
## 0.1 Building Swig | ||
|
||
$ git clone https://github.com/swig/swig.git && cd swig | ||
$ git checkout release-4.1 | ||
$ ./autogen.sh | ||
$ ./configure --prefix=/usr/ | ||
$ make -j12 | ||
$ sudo make install | ||
|
||
## 0.2 Required dependencies | ||
|
||
$ sudo apt install libsctp-dev python3 cmake-curses-gui libpcre2-dev | ||
|
||
## 1. Building OAI | ||
|
||
$ git clone https://gitlab.eurecom.fr/oai/openairinterface5g oai | ||
$ cd oai | ||
$ git checkout 2023.w50 | ||
$ ./build_oai -w USRP --gNB --nrUE --build-e2 --ninja | ||
|
||
## 2. Building Flexric | ||
|
||
$ cd oai/openair2/E2AP/flexric | ||
$ mkdir build && cd build | ||
$ cmake -D CMAKE_C_COMPILER=gcc-10 -D CMAKE_CXX_COMPILER=g++-10 .. | ||
$ make -j8 | ||
$ sudo make install | ||
|
||
``` | ||
## srsRAN |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# SRSRAN | ||
|
||
## Building | ||
|
||
Version: 23.10.1 | ||
UHD version: 4.6.0.0 | ||
OS version: Ubuntu Server 22.04 LTS | ||
|
||
For building we recommend following the official documentation available [here](https://docs.srsran.com/projects/project/en/latest/user_manuals/source/installation.html) to build srsRAN from source. The UHD driver was used and built from sources following [this guide](https://files.ettus.com/manual/page_build_guide.html). | ||
|
||
## Running | ||
After building and installing srsRAN we recommend running the [srsran_performance](https://raw.githubusercontent.com/srsran/srsRAN_Project/release_23_10_1/scripts/srsran_performance) script available in the official srsran_project repository. Since these changes do not persist remember to re-run them if the machine is restarted. | ||
|
||
For each of the core networks there is an accompanying helper script, however, you still need to manually change the second line of each script so that they have the name of your network interface. | ||
|
||
Finnaly, free5gc and OAI CN require a change in routing table of the gNB host. This change can be applied with the commands: | ||
- Free5Gc: `sudo ip route add 10.100.200.0/24 via {external addr of the core host} dev {name of the network interface used to reach the core host}`. | ||
- OAI CN: `sudo ip route add 10.100.200.0/26 via {external addr of the core host} dev {name of the network interface used to reach the core host}`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# Non RealTime RIC | ||
|
||
## Installation | ||
|
||
### Docker and kubernetes (skip if already installed) | ||
|
||
We installed the non rt ric using kubernetes and containers, to do so we used [kubeadm](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/) and [containerd](https://containerd.io/). | ||
|
||
We've started with a machine running Ubuntu Desktop 22.04 LTS and installed docker following [their own documentation](https://docs.docker.com/engine/install/ubuntu/). | ||
|
||
For our cgroup driver we chose systemd. Our configuration file can be found [here](./config.yaml). Make sure to install kubectl as well. As our pod network add-on, we picked [flannel](https://github.com/flannel-io/flannel). Finally we removed the `node-role.kubernetes.io/control-plane:NoSchedule` taint from all nodes. | ||
|
||
Now we should have a healthy kubernetes cluster running so its time to deploy the NearRTRIC itself. | ||
|
||
|
||
<!-- | ||
missing details: | ||
- clone it/dep repo | ||
- run the chartsmuseum with `./dep/smo-install/scripts/layer-0/0-setup-charts-museum.sh` | ||
- change all references of `kubectl` in `bin/deploy-nonrtric` for `minikube kubectl --` | ||
- modify the recipe so it doesnt deploy the a1 simulator | ||
- run `bin/deploy-nonrtric` | ||
- profit | ||
- undeploy by modifing `bin/undeploy-nonrtric` to use `minikube kubectl --` instead of `kubectl` | ||
--> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Non RealTime RIC | ||
|
||
## Installation | ||
|
||
### Docker and kubernetes (skip if already installed) | ||
|
||
We installed the non rt ric using microk8s and had to enable . | ||
|
Empty file.