updated gnbsim deployment section to run gnbsim on another VM

Change-Id: I1d687a9df50672cd51766e6d1a805bb3658ebff5
diff --git a/_static/images/Standalone_gnbsim_1_interface.jpg b/_static/images/Standalone_gnbsim_1_interface.jpg
new file mode 100644
index 0000000..e20027f
--- /dev/null
+++ b/_static/images/Standalone_gnbsim_1_interface.jpg
Binary files differ
diff --git a/deployment/deploymentgnbsim.rst b/deployment/deploymentgnbsim.rst
index fd04e8a..e5b91ae 100644
--- a/deployment/deploymentgnbsim.rst
+++ b/deployment/deploymentgnbsim.rst
@@ -38,7 +38,7 @@
   :width: 700px
 
 gNB simulator running standalone with single interface
-```````````````````````````````````````````````````````
+``````````````````````````````````````````````````````
 
 - Install gNB Simulator on any K8s cluster
 - Multus cni needs to be enabled for the K8s cluster where bess-upf runs
@@ -100,3 +100,85 @@
 
 .. image:: ../_static/images/Separate-cluster_2_interface.jpg
   :width: 700px
+
+Running gNBSim Standalone Application in or out of a Docker
+```````````````````````````````````````````````````````````
+.. image:: ../_static/images/Standalone_gnbsim_1_interface.jpg
+  :width: 1000px
+
+Note that ``DATA-IFACE`` is ens1f0, this interface to be used for both control and data traffic
+
+We need two VMs, in this example we call one is SD-Core VM, other one is Simulator VM
+  * SD-Core VM: to Deploy AIAB
+  * Simulator VM: to Run gnbsim process in or out of Docker
+
+SD-Core VM Preparation:
+
+- To Expose External IP and Port of amf service, update sd-core-5g-values.yaml ::
+
+     amf:
+       # use externalIP if you need to access your AMF from remote setup and you don't
+       # want setup NodePort Service Type
+       ngapp:
+         externalIp: <DATA_IFACE_IP>
+         nodePort: 38412
+- Deploy 5g core with options DATA_IFACE=ens1f0 and ENABLE_GNBSIM=false, sample command::
+
+     $ ENABLE_GNBSIM=false DATA_IFACE=ens1f0 CHARTS=release-2.0 make 5g-core
+- Make sure that ``DATA_IFACE`` connected  with Simulator VM
+
+Simulator VM Preparation
+
+- Single interface is used for user plane traffic towards UPF
+- Single interface is used to send traffic towards control plane (i.e. AMF).
+- Checkout gnbsim code using the following command::
+
+     $ git clone https://github.com/omec-project/gnbsim.git
+- Install 'go' if you want to run with local executable ::
+
+     $ wget  https://go.dev/dl/go1.19.linux-amd64.tar.gz
+     $ sudo tar -xvf go1.19.linux-amd64.tar.gz
+     $ mv go /usr/local
+     $ export PATH=$PATH:/usr/local/go/bin
+- To Compile the code locally, you can use below commands::
+
+     $ ``go build`` or ``make docker-build``
+- Add following route in routing table for sending traffic over ``DATA_IFACE`` interface ::
+
+     $ ip route add 192.168.252.3 via <DATA-IFACE-IP-IN-SD-CORE-VM>
+- Just to Make sure the data connectivity, ping UPF IP from ``DATA_IFACE``::
+
+     $ ping 192.168.252.3 -I <DATA_IFACE>
+- configure correct n2 and n3 addresses in config/gnbsim.yaml ::
+
+        configuration:
+             singleInterface: false #default value
+             execInParallel: false #run all profiles in parallel
+             gnbs: # pool of gNodeBs
+                gnb1:
+                   n2IpAddr: <DATA-IFACE-IP>># gNB N2 interface IP address used to connect to AMF
+                   n2Port: 9487 # gNB N2 Port used to connect to AMF
+                   n3IpAddr: <DATA-IFACE-IP> # gNB N3 interface IP address used to connect to UPF. when singleInterface mode is false
+                   n3Port: 2152 # gNB N3 Port used to connect to UPF
+                   name: gnb1 # gNB name that uniquely identify a gNB within application
+- configure AMF address or FQDN appropriately in gnbsim.yaml ::
+
+        configuration:
+             singleInterface: false #default value
+             execInParallel: false #run all profiles in parallel
+             gnbs: # pool of gNodeBs
+               gnb1:
+                defaultAmf:
+                   hostName:  # Host name of AMF
+                   ipAddr: <AMF-SERVICE-EXTERNAL-IP> ># AMF Service external IP address in SD-Core VM
+                   port: 38412 # AMF port
+- Run gnbsim application using the following command::
+
+   $ ./gnbsim -cfg config/gnbsim.yaml
+        (or)
+- Install Docker and run gnbsim inside a Docker with Docker hub Image or locally created Image ::
+
+   $ docker run --privileged -it -v ~/gnbsim/config:/gnbsim/config --net=host <Docker-Image> bash
+   $ ./gnbsim -cfg config/gnbsim.yaml
+
+Note: gnbsim docker images found at https://hub.docker.com/r/omecproject/5gc-gnbsim/tags