..
   SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
   SPDX-License-Identifier: Apache-2.0
.. _gNB-Simulator:

gNB Simulator
=============

.. image:: ../_static/images/gNBSim.png
  :width: 700px

Description
-----------
The gNB Sim tool simulates gNodeB and UE by generating and processing NAS and
NGAP messages for the configured UEs and call flows. The tool currently supports
simulation profiles for the following procedures,

* Registration
* UE initiated PDU Session Establishment
* UE Initiated De-registration.
* AN Release

It is also capable to generate and send user data packets (ICMP echo request)
and process down-link user data (ICMP echo response) over the established data
plane path (N3 Tunnel).

Configure gNB Simulator
-----------------------
* The config file for GNBSIM can be found at *<repo dir>/config/gnbsim.yaml*

    *Note: The configuration has following major fields (Read the comments in the config file for more details)*

    * **gnbs**: List of gNB's to be simulated. Each item in the list holds configuration specific to a gNB.
    * **profiles**: List of test/simulation profiles. Each item in the list holds configuration specific to a profile.

* Enable or disable a specific profile using the **enable** field.

    *Note: Currently following profiles are supported*

    * **register**: Registration procedure
    * **pdusessest** (Default): Registration + UE initiated PDU Session Establishment + User Data packets
    * **deregister**: Registration + UE initiated PDU Session Establishment + User Data packets + Deregister

Build gNB Simulator
-------------------
* To modify gNB Sim within a container run

    .. code-block:: bash

        $ kubectl exec -it gnbsim-0 -n omec bash

    Make required changes and run

    .. code-block:: bash

        $ go build

* To modify gNB Sim and build a new docker image

    .. code-block:: bash

        $ cd <repo dir>
        $ make docker-build

    Use newly created image in the AIAB cluster run,

    .. code-block:: bash

        $ cd <aiab repo dir>
        $ make reset-5g-test

    Modify the override file (ransim-values.yaml) to add the new image name

    .. code-block:: bash

        $ make 5gc

Run gNB Sim
-----------

    Enter into the gNB Sim pod by running

    .. code-block:: bash

        $ kubectl exec -it gnbsim-0 -n omec bash

    After entering the pod run,

    .. code-block:: bash

        $ ./gnbsim

    *Note: By default, the gNB Sim reads the configuration from /free5gc/config/gnb.conf file. To provide a different configuration file,
    use the below command*

    .. code-block:: bash

        $ ./gnbsim --cfg config/gnbsim.yaml
