We introduce flexric-ran-slicing-env to facilitate the RL agent's interaction with the RAN slicing infrastructure. This environment provides state variables to the RL agent and receives the agent's decision regarding the distribution of resources among slices. Moreover, this environment provides the means to set the experiment scenario regarding the number of slices, the associated UEs, and the traffic generation timings.
git clone [email protected]:mhmd97z/flexric-ran-slicing-env.git
# install the required python packages
pip3 install -r requirements.txt
git clone https://github.com/srsRAN/srsRAN.git
git checkout release_21_10
# apply the patch
cd srsRAN_4G
git am <path-to-flexric-ran-slicing-env>/srsRan_patch.patch --whitespace=nowarnapply patch
# build the project
# install the necessary requirements according to the instructions of the origial repo
mkdir build && cd build
cmake ..
make
# copy the srsran config files in srs-ran-config to /root/.config/srsran/
sudo cp <path-to-flexric-ran-slicing-env>/srs-ran-config/* /root/.config/srsran/
# add the simcars' information to your /root/.config/srsran/user_db.csv
# create an access point on the phone under simcard settings, with the following specifications:
## Name: srsapn, APN: srsapn, MCC: 999, MNC: 70, APN Type: default,mms,supl,hipri,fota,cbs,xcap
# set iptables rules to forward ue's traffic
sudo iptables --policy FORWARD ACCEPT
sudo iptables -I FORWARD 1 -s 172.16.0.0/24 -j ACCEPT
sudo iptables -t nat -I POSTROUTING 1 -s 172.16.0.0/24 -o enx2c16dbab4418 -j MASQUERADE
git clone [email protected]:mosaic5g/flexric.git
git checkout b4b1aefe0fed28c757d8b9698c8ee3db084a4b82
# apply the patch
cd flexric
git am path-to-flexric-ran-slicing-env/flexric_patch.patch --whitespace=nowarnapply patch
# build the project
# install the requirements according to the instructions of the original repo
mkdir build && cd build
cmake ..
make
- root the phone
- install SSH Server.apk on the phone
- add a user to the SSH Server.apk
- copy a precompiled iperf binary to the phone using this repo
#
export PYTHONPATH=<path-to-flexric>/build/examples/xApp/python3":${PYTHONPATH}"