The gnbsim repository enables the building of a multi-container and multi-node cluster of gNbsim using Docker. This allows you to run gNbsim simulations on multiple VMs, with the flexibility to run multiple containers on each VM.
To download the gnbsim repository, use the following command:
git clone https://gitlab.com/onf-internship/gnbsim.git
To install gnbsim, follow these steps:
- Install Docker by running
make gnbsim-docker-install
. - Configure the network for gnbsim:
- Set the "data_iface" parameter to the network interface name of the machine.
- Set "macvlan_iface" to the name of the macvlan interface to be created.
- Set "macvlan_network_name" to the name of the Docker network to be created.
- Set "subnet_prefix" to the first two bytes of the subnet, which should correspond to the "custome_ran_subnet" of 5g-core or the machine's subnet.
- Start the gNbsim Docker containers using
make gnbsim-docker-start
:- Set the container "image" for gNbsim.
- Set "prefix" to the desired name for the gNbsim containers.
- Set "count" to the number of containers to be instantiated on each VM.
- Start the simulation:
- Set "amf.ip" to the IP address of the core machine.
- Set "ueid_base" to the starting IMSI number.
- Each container will have a different starting IMSI number.
- Set "ue_per_pod" to the number of UEs on each gNbsim container.
- Set the "gnbsims" array with a list of key-value pairs:
- Each key represents the container number (numeric).
- The corresponding value
config_file
is the config template file for gNbsim.
- Run
make gnbsim-simulator-start
.
- Check the results:
- Enter one of the Docker containers using
docker exec -it *prefix*-1 bash
. - Use
cat summary.log
to view the last result. - To check the logs generated by gnbsim, use
cat *gnbsim*.log
.
- Enter one of the Docker containers using
To install gnbsim in one go, run make gnbsim-simulator-setup-install
.
To uninstall gnbsim, run make gnbsim-simulator-setup-uninstall
.