Add a paragraph about the application here...
- python3-dev;
- libsctp-dev;
- librdkafka-dev;
- ninja-build;
- swig v4.1 or newer;
To use the xApp, it is necessary to utilize the near RT RIC. In this work's context, we use Flexric. Therefore, before compiling and running the xApp, we first need to deploy Flexric.
- Cmake (at least v3.22);
- SWIG ((at least v4.1);
- GCC (gcc-10, gcc-12, or gcc-13) - no support for gcc-11;
git clone https://github.com/swig/swig.git
cd swig
git checkout release-4.1
./autogen.sh
./configure --prefix=/usr/
make -j8
make install
The required dependencies can be installed using the following command:
sudo apt install libsctp-dev python3.8 cmake-curses-gui libpcre2-dev python3-dev
After installing all prerequisites, clone the Flexric repository using the following command:
git clone https://gitlab.eurecom.fr/mosaic5g/flexric.git
# Recommended to use the dev branch
git checkout <here put the release tag>
Then, build the near RT RIC using the following commands:
mkdir -p build && cd build
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DE2AP_VERSION=E2AP_V3 -DKPM_VERSION=KPM_V3_00 ..
ninja install
NOTE: We use version 3 of KPM and E2AP, which are compatible with our xApp.
cd ~/flexric/build/examples/ric/
./nearRT-RIC
In addition to Flexric, we will need the E2 Node agents. The gNB can be deployed as a monolithic instance or using the CU/DU split:
- gNB-mono
cd ~/flexric/build/examples/emulator/agent
./emu_agent_gnb
- gNB-split
cd ~/flexric/build/examples/emulator/agent
./emu_agent_gnb_cu
./emu_agent_gnb_du
Once the deployment is successful, the xApp can be used.
NOTE: This tutorial is based on the official Flexric documentation.
docker container run -itd --name iqos-xapp -e NEAR_RIC_IP="<NEAR_RIC_IP>" muriloavlis/iqos-xapp:latest
Clone the xApp repository with the following command.
git clone --recurse-submodules -j8 git@github.com:gercom-ufpa/iqos-xapp.git
Build the xApp.
mkdir -p build && cd build
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DE2AP_VERSION=E2AP_V3 -DKPM_VERSION=KPM_V3_00 ..
ninja xapp_iqos
After building, the xApp can be run with the following command.
./xapp_iqos -c ../configs/xApp.conf
NOTE: In the xApp.conf file we can set the Flexric IP.