restore cut section

Change-Id: Ib19f0d115f1c4b97c35c40c648a81842b23f8944
diff --git a/developer/aiab.rst b/developer/aiab.rst
index f4d9cce..34b577b 100644
--- a/developer/aiab.rst
+++ b/developer/aiab.rst
@@ -454,6 +454,61 @@
 in *sd-core-5g-values.yaml*.  Consult the
 `gNBSim documentation <https://docs.sd-core.opennetworking.org/master/developer/gnbsim.html>`_ for more information.
 
+Deploying Additional UPF(s)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+There may be cases where the user wants/needs to deploy additional UPS(s) and
+to facilitate this a "target" was added to the Makefile::
+
+    CHARTS=latest make 5g-upf
+
+The above command has to be executed after the SD Core network has been
+deployed as follows::
+
+    ENABLE_GNBSIM=false DATA_IFACE=<iface> CHARTS=latest make 5g-core
+
+where ``<iface>`` is the network interface connecting the AiaB server
+to the local L2/L3 network. If not, you will receive a message saying::
+
+    Deploy '5g-core' before adding additional UPF(s)
+    make: *** [Makefile:359: 5g-upf] Error 1
+
+Every time the above command is executed, a new UPF is deployed in a new
+namespace, where the namespace has the following format: "upf-#", where
+"#" is an increasing value that starts with "1". In other words, the first
+time the "5g-upf" target is executed, a new UPF is deployed and its namespace
+is "upf-1", the next time it gets executed, another UPF is deployed and its
+name space is "upf-2", and so on.
+
+The "5g-upf" target also takes care of the networking configuration for the
+UPF. That is, it will assign IP addresses for the UPF's Core and Access
+interfaces in an ascending way, where the first additional UPF will get
+"IP_ID = 4", second additional UPF will get "IP_ID = 5", and so on::
+
+    access:
+      iface: ${DATA_IFACE}
+      ip: 192.168.252.${IP_ID}/24
+    core:
+      iface: ${DATA_IFACE}
+      ip: 192.168.250.${IP_ID}/24
+
+In addition to this, it will also insert a route in the "router", where
+"IP_UE_ID = 249" for the 1st additional UPF, and "IP_UE_ID" will keep
+decreasing by 1 for every additional UPF::
+
+    kubectl -n default exec -ti router -- ip route add 172.$(IP_UE_ID).0.0/16 via 192.168.250.$(IP_ID)
+
+There is also the option to remove ALL additional UPF(s) by executing the "make
+upf-clean" command. It will also delete the "upf-#" namespaces and remove
+the routing entries from the router. When the 5G core is removed through "make
+reset-5g-test", it will also remove ALL additional UPF(s).
+
+.. note::
+
+    The "CHARTS=latest make 5g-upf" command ONLY deploys additional UPFs
+    with their own connectivity. It does NOT create slices.
+
+
 Exploring 5G AIAB
 ^^^^^^^^^^^^^^^^^
 
@@ -604,6 +659,7 @@
 .. note::
   * Helm chart changes can not be done when CHARTS option is used. If you need to change helm chart then you should use local helm charts
 
+
 Troubleshooting 5G Issues
 ^^^^^^^^^^^^^^^^^^^^^^^^^
 
diff --git a/index.rst b/index.rst
index 2a136db..b318a41 100644
--- a/index.rst
+++ b/index.rst
@@ -15,9 +15,9 @@
 
 * Setup an Aether software development environment with :doc:`Aether-in-a-Box </developer/aiab>`.
 
-* Learn about how to :doc:`configure Aether using the ROC </operations/gui>`.
+* Learn about how to :doc:`operate Aether using the ROC </operations/gui>`.
 
-* Learn the requirements of hosting an :doc:`Aether Connected Edge
+* Learn the requirements for a  :doc:`Production Deployment of Aether
   </edge_deployment/overview>`.
 
 * Read the most recent :doc:`Release Notes </release/2.1>`.
diff --git a/onramp/start.rst b/onramp/start.rst
index cbff606..79ee44e 100644
--- a/onramp/start.rst
+++ b/onramp/start.rst
@@ -327,11 +327,11 @@
 .. code-block::
 
    2023-08-09T19:57:09Z [INFO][GNBSIM][Summary] Profile Name: profile2 , Profile Type: pdusessest
-   2023-08-09T19:57:09Z [INFO][GNBSIM][Summary] UEs Passed: 3 , UEs Failed: 0
+   2023-08-09T19:57:09Z [INFO][GNBSIM][Summary] UEs Passed: 5 , UEs Failed: 0
    2023-08-09T19:57:09Z [INFO][GNBSIM][Summary] Profile Status: PASS
 
 This particular test, which runs the cryptically named ``pdusessest``
-profile, emulates three UEs, each of which: (1) registers with the
+profile, emulates five UEs, each of which: (1) registers with the
 Core, (2) initiates a user plane session, and (3) sends a minimal data
 packet over that session. In addition to displaying the summary
 results, you can also open a shell in the ``gnbsim-1`` container,
@@ -357,7 +357,38 @@
 If you are interested in the config file that controls the test,
 including the option of enabling other profiles, take a look at
 ``deps/gnbsim/config/gnbsim-default.yaml``. We return to the issue of
-customizing gNBsim in a later section.
+customizing gNBsim in a later section, but for now there are some
+simple modifications you can try. For example, the following code
+block defines a set of parameters for ``pdusessest`` (also known as
+``profile2``):
+
+.. code-block::
+
+    - profileType: pdusessest         # UE Initiated Session
+    profileName: profile2
+    enable: true
+    gnbName: gnb1
+    execInParallel: false
+    startImsi: 208930100007487
+    ueCount: 5
+    defaultAs: "192.168.250.1"
+    perUserTimeout: 100
+    plmnId:
+       mcc: 208
+       mnc: 93
+    dataPktCount: 5
+    opc: "981d464c7c52eb6e5036234984ad0bcf"
+    key: "5122250214c33e723a5dd523fc145fc0"
+    sequenceNumber: "16f3b3f70fc2"
+
+You can edit ``ueCount`` to change the number of UEs included in the
+emulation (currently limited to 100) and you can set
+``execInParallel`` to ``true`` to emulate those UEs connecting to the
+Core in parallel (rather than serially). You can also change the
+amount of information gNBsim outputs by modifying ``logLevel`` in the
+``logger`` block at the end of the file.  For any changes you make,
+just rerun ``make aether-gnbsim-run`` to see the effects; you do not
+need to reinstall gNBsim.
 
 Clean Up
 ~~~~~~~~~~~~~~~~~