Document cleanup

Change-Id: Ie7478317eedd34d2bf5786dfcbbfa3c1ebc071a1
diff --git a/configuration/qos_config.rst b/configuration/qos_config.rst
new file mode 100644
index 0000000..db43b6a
--- /dev/null
+++ b/configuration/qos_config.rst
@@ -0,0 +1,110 @@
+..
+   SPDX-FileCopyrightText: © 2022 Open Networking Foundation <support@opennetworking.org>
+   SPDX-License-Identifier: Apache-2.0
+
+.. _sdcore-qos:
+
+QoS Support Overview
+==============================
+
+.. image:: ../_static/images/SDCore_Access_Control.png
+  :width: 700px
+  :align: center
+
+Below config snapshot shows how to configure application filtering in the network slice.
+Each application filter in the network slice can have action either ``permit`` or ``deny``
+Also each application has QoS rates. QoS rates are part of device groups are per UE limit.
+
+.. code-block::
+
+  config:
+    simapp:
+      cfgFiles:
+        simapp.yaml:
+          configuration:
+            provision-network-slice: true
+            sub-provision-endpt:
+              addr: config4g
+              port: 5000
+            subscribers:
+            - ueId-start: "208014567891201"
+              ueId-end: "208014567891211"
+              plmnId: "20801"
+              opc: "d4416644f6154936193433dd20a0ace0"
+              op: ""
+              key: "465b5ce8b199b49faa5f0a2ee238a6bc"
+              sequenceNumber: 96
+            device-groups:
+            - name:  "4g-oaisim-user"
+              imsis:
+                - "208014567891201"
+                - "208014567891202"
+              ip-domain-name: "pool1"
+              ip-domain-expanded:
+                dnn: internet
+                dns-primary: "8.8.8.8"
+                mtu: 1460
+                ue-ip-pool: "172.250.0.0/16"
+                ue-dnn-qos:
+                  dnn-mbr-downlink: 20000000
+                  dnn-mbr-uplink: 4000000
+                  bitrate-unit: bps
+                  traffic-class:  #default bearer QCI/ARP
+                    name: "platinum"
+                    qci: 9
+                    arp: 1
+                    pdb: 300
+                    pelr: 6
+              site-info: "aiab"
+
+            network-slices:
+            - name: "default"
+              slice-id:
+                sd: "010203"
+                sst: 1
+              site-device-group:
+              - "4g-oaisim-user"
+              application-filtering-rules:
+              - rule-name: "deny-private1"
+                priority: 250
+                action: permit
+                endpoint: "10.0.0.0/8"
+                protocol: 6
+                dest-port-start: 20005
+                dest-port-end : 20005
+                app-mbr-uplink: 1000000
+                app-mbr-downlink: 20000000
+                bitrate-unit: bps
+                traffic-class:
+                  name: “platinum”
+                  qci: 9
+                  arp: 1
+                  pdb: 300
+                  pelr: 6
+              - rule-name: “deny-private-2”
+                priority: 251
+                action : permit
+                endpoint: "172.16.0.0/16"
+                protocol: 6
+                dest-port-start: 20005
+                dest-port-end : 20005
+                app-mbr-uplink: 1000000
+                app-mbr-downlink: 30000000
+                bitrate-unit: bps
+                traffic-class:
+                  name: “platinum”
+                  qci: 9
+                  arp: 1
+                  pdb: 300
+                  pelr: 6
+              site-info:
+                gNodeBs:
+                - name: "aiab-gnb1"
+                  tac: 1
+                plmn:
+                  mcc: "208"
+                  mnc: "01"
+                site-name: "aiab"
+                upf:
+                  upf-name: "upf"
+                  upf-port: 8805
diff --git a/deployment/deployment4G.rst b/deployment/deployment4G.rst
index 0acc635..cacbae6 100644
--- a/deployment/deployment4G.rst
+++ b/deployment/deployment4G.rst
@@ -45,6 +45,9 @@
     - 2 CPU Cores
     - 4Gi
 
+.. note::
+   SD-Core deployment is tested on Intel/AMD hardware. There is WIP to run SD-Core
+   on ARM architecture.
 
 Deployment Options
 ------------------
diff --git a/deployment/deployment5G.rst b/deployment/deployment5G.rst
index 8e75bbf..e6b8023 100644
--- a/deployment/deployment5G.rst
+++ b/deployment/deployment5G.rst
@@ -58,6 +58,10 @@
     - 4Gi
 
 
+.. note::
+   SD-Core deployment is tested on Intel/AMD hardware. There is WIP to run SD-Core
+   on ARM architecture.
+
 Deployment Options
 ------------------
 
diff --git a/deployment/deploymentupf.rst b/deployment/deploymentupf.rst
new file mode 100644
index 0000000..cb5fd36
--- /dev/null
+++ b/deployment/deploymentupf.rst
@@ -0,0 +1,18 @@
+..
+   SPDX-FileCopyrightText: © 2022 Open Networking Foundation <support@opennetworking.org>
+   SPDX-License-Identifier: Apache-2.0
+
+.. _deployment_upf_guide:
+
+UPF Deployment Guide
+====================
+
+- Each Site has one or more UPFs dedicated for use case
+- UPFs can be added during runtime and UP/CP form PFCP association
+- Edges can run on different versions of UPF. Changes are always backward compatible
+- Option to Install only 4G or 5G or both
+- Multiple UPF (user plane function) options available to meet the needs of different applications BESS-UPF, P4-UPF
+- Many UPFs can connect to same control plane. Control Plane selects UPF based on
+  various criteria - DNN/Slice (5G), Apn, IMSI, ULI(4G), Slice IDs
+- IP address allocation supported at Control plane and also at UPF
+- UPF Attach/detach to SD-Core.  UPF Pools created based on enterprise need.
diff --git a/developer/aiab.rst b/developer/aiab.rst
index 4f7a05a..9dda2f6 100644
--- a/developer/aiab.rst
+++ b/developer/aiab.rst
@@ -4,12 +4,11 @@
 
 .. _aiab-guide:
 
-================
-Aether In a Box
-================
+Aether In a Box - 4G
+====================
 
-Setting Up Aether-in-a-Box
-__________________________
+Setting Up Aether-in-a-Box - 4G
+________________________________
 
 Aether-in-a-Box (AiaB) provides an easy way to deploy Aether’s SD-CORE
 components and run basic tests to validate the installation. This guide
@@ -29,15 +28,14 @@
 
 AiaB can be run on a bare metal machine or VM. System prerequisites:
 
-* Ubuntu 18.04
+* Ubuntu 18.04 or later
 * Kernel 4.15 or later
 * Haswell CPU or newer
 
 Clone Repositories
 __________________
 
-To initialize the AiaB environment, first clone the following repository using
-your Gerrit ID::
+To initialize the AiaB environment, first clone the following repository::
 
     cd ~
     git clone "https://gerrit.opencord.org/aether-in-a-box"
@@ -52,10 +50,10 @@
     Kubernetes cluster. Subsequent builds will be much faster if you follow below steps
     to delete & redeploy SD-Core (4G/5G) without destroying the Kubernetes
 
-Using 4G SD-CORE
+Running 4G Test
 ________________
 
-To deploy 4G SD-CORE::
+To deploy 4G SD-CORE using local helm charts::
 
     make 4g-core
 
@@ -68,40 +66,28 @@
 After updating config in *sd-core-4g-values.yaml* you can reset deployment and run
 the test again.
 
-Using 5G SD-CORE
-________________
-
-To deploy 5G SD-CORE::
-
-    make 5g-core
-
-To deploy and test 5G SD-CORE::
-
-    make 5g-test
-
-The above step uses gNBSim to perform Registration + UE-Initiated PDU Session
-Establishment + User Data Packets. To test other procedures, modify *gnb.conf*
-in *~/aether-in-a-box/sd-core-5g-values.yaml* (refer gNBSim documentation :ref:`gNB-Simulator`)
-
 Developer Loop
 ______________
 
-Suppose you wish to test a new build of a 5G SD-CORE services. You can deploy
-custom images by editing ~/aether-in-a-box/sd-core-5g-values.yaml, for example::
+Suppose you wish to test a new build of a 4G SD-CORE services. You can deploy
+custom images by editing ~/aether-in-a-box/sd-core-4g-values.yaml, for example::
 
     images:
       tags:
-        webui: omecproject/5gc-webui:master-7f96cfd
+        spgwc: omecproject/spgw:master-e419062
 
-To upgrade a running 5G SD-CORE with the new image, or to deploy the 5G SD-CORE
+To upgrade a running 4G SD-CORE with the new image, or to redeploy the 4G SD-CORE
 with the image::
 
-    make reset-5g-test # delete 5G deployment if it was already started before updating image
-    make 5g-core  #now this deployment will use new webui image
+    make reset-test # delete 4G deployment if it was already started before updating image
+    make 4g-test  #now this deployment will use new webui image
 
 Troubleshooting / Known Issues
 ______________________________
 
+Deployment Status
+""""""""""""""""""
+
 If you suspect a problem, first verify that all pods are in Running state::
 
     kubectl -n omec get pods
@@ -109,16 +95,10 @@
 If the pods are stuck in ImagePullBackOff state, then it’s likely an issue
 with image name.
 
-4G Test Fails
-_____________
+Test Failure
+""""""""""""
 
 Occasionally make 4g-core (for 4G) fails for unknown reasons; this is true
 regardless of which Helm charts are used. If this happens, first try
 cleaning up AiaB and re-running the test. If make 4g-core fails consistently,
 then try to debug the issue by looking at spgwc, mme logs.
-
-5G Test Fails
-_____________
-
-If make 5g-test fails consistently, then try to debug the issue by looking
-at logs at amf, smf.
diff --git a/developer/aiab5g.rst b/developer/aiab5g.rst
new file mode 100644
index 0000000..e380f06
--- /dev/null
+++ b/developer/aiab5g.rst
@@ -0,0 +1,101 @@
+..
+   SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+   SPDX-License-Identifier: Apache-2.0
+
+.. _aiab5g-guide:
+
+Aether In a Box - 5G
+====================
+
+Setting Up Aether-in-a-Box - 5G
+________________________________
+
+Aether-in-a-Box (AiaB) provides an easy way to deploy Aether’s SD-CORE
+components and run basic tests to validate the installation. This guide
+describes the steps to set up AiaB.
+
+AiaB can be set up with a 4G or 5G SD-CORE. We use SimApp to configure
+the required subscribers & network slices in SD-CORE for testing core
+functionality.
+
+Helm charts are the primary method of installing the SD-CORE resources.
+AiaB offers a great deal of flexibility regarding which Helm chart
+versions to install:
+
+* Local definitions of charts (for testing Helm chart changes)
+* Latest published charts (for deploying a development version of Aether)
+* Specified versions of charts (for deploying a specific Aether release)
+
+AiaB can be run on a bare metal machine or VM. System prerequisites:
+
+* Ubuntu 18.04 or later
+* Kernel 4.15 or later
+* Haswell CPU or newer
+
+Clone Repositories
+__________________
+
+To initialize the AiaB environment, first clone the following repository::
+your Gerrit ID::
+
+    cd ~
+    git clone "https://gerrit.opencord.org/aether-in-a-box"
+
+    mkdir -p ~/cord
+    cd ~/cord
+    git clone "https://gerrit.opencord.org/sdcore-helm-charts"
+
+.. note::
+    Only one version of the SD-CORE (4G or 5G) can be installed in AIAB environment
+    at a time. The first time you build AiaB, it takes a while because it sets up the
+    Kubernetes cluster. Subsequent builds will be much faster if you follow below steps
+    to delete & redeploy SD-Core (4G/5G) without destroying the Kubernetes
+
+Running 5G Test
+________________
+
+To deploy 5G SD-CORE using local helm charts::
+
+    make 5g-core
+
+To deploy and test 5G SD-CORE using local helm charts::
+
+    make 5g-test
+
+The above step uses gNBSim to perform Registration + UE-Initiated PDU Session
+Establishment + User Data Packets. To test other procedures, modify *gnb.conf*
+in *~/aether-in-a-box/sd-core-5g-values.yaml* (refer gNBSim documentation :ref:`gNB-Simulator`)
+
+Developer Loop
+______________
+
+Suppose you wish to test a new build of a 5G SD-CORE services. You can deploy
+custom images by editing ~/aether-in-a-box/sd-core-5g-values.yaml, for example::
+
+    images:
+      tags:
+        webui: omecproject/5gc-webui:master-7f96cfd
+
+To upgrade a running 5G SD-CORE with the new image, or to redeploy the 5G SD-CORE
+with the image::
+
+    make reset-5g-test # delete 5G deployment if it was already started before updating image
+    make 5g-core  #now this deployment will use new webui image
+
+Troubleshooting / Known Issues
+______________________________
+
+Deployment Status
+""""""""""""""""""
+If you suspect a problem, first verify that all pods are in Running state::
+
+    kubectl -n omec get pods
+
+If the pods are stuck in ImagePullBackOff state, then it’s likely an issue
+with image name.
+
+Test Failure
+""""""""""""
+
+If make 5g-test fails consistently, then try to debug the issue by looking
+at logs at amf, smf.
diff --git a/developer/gnbsim.rst b/developer/gnbsim.rst
index 9c769b7..e09deb7 100644
--- a/developer/gnbsim.rst
+++ b/developer/gnbsim.rst
@@ -12,7 +12,7 @@
 -------------------------------------------------
 
 - This is default mode of deployment for gNB Simulator
-- Multus cni needs to be enabled on cluster. Required for bess-upf & gNB
+- Multus cni needs to be enabled on cluster. Required for bess-upf & gNBSim
 - `make 5gc` will by default deploy gNB Simulator in this mode
 - One interface is used for user plane traffic towards UPF
 - Second interface is used to send traffic towards control plane (i.e. AMF).
@@ -160,7 +160,7 @@
 
         $ make 5g-test
 
-    (refer AiaB documentation :ref:`aiab-guide`)
+    (refer AiaB documentation :ref:`aiab5g-guide`)
 
 * Alternatively, once 5G SD-CORE is up, you can enter into the gNBSim pod by
     running:
@@ -211,6 +211,6 @@
 
         $ make 5g-test
 
-    (refer AiaB documentation :ref:`aiab-guide`)
+    (refer AiaB documentation :ref:`aiab5g-guide`)
 
 
diff --git a/index.rst b/index.rst
index 088537e..f72e63a 100644
--- a/index.rst
+++ b/index.rst
@@ -7,17 +7,21 @@
 =======
 
 The SD-Core project is a 4G/5G disaggregated mobile core optimized for public
-cloud deployment in concert with distributed edge clouds and is ideally suited
-for carrier and private enterprise 5G networks. It exposes standard 3GPP interfaces
-enabling use of SD-Core as a conventional mobile core.
-
-SD-Core is an integral component of Aether, ONF’s 5G Connected Edge platform for
+cloud deployment in concert with distributed edge clouds. It exposes standard 3GPP interfaces
+enabling use of SD-Core as a conventional mobile core. SD-Core is an integral component
+of Aether, ONF’s 5G Connected Edge platform for
 private mobile connectivity and edge cloud services. It can be rapidly deployed
 pre-integrated with Aether, as a standalone 5G/4G mobile core, or as control and
 dataplane (UPF) components integrated into custom designed solutions. This range
 of versatility makes the open source SD-Core platform ideally suited for the
 broadest range of use cases and deployment scenarios.
 
+SD-Core is ideally suited for
+
+- Small carrier
+- Private enterprise 4G/5G networks
+- Research community or Universities who wish to study/learn more on 3gpp 4G/5G
+
 
 Getting Started with SD-Core
 ----------------------------
@@ -29,11 +33,6 @@
   - `SD-Core Wiki <https://wiki.opennetworking.org/display/COM/SD-Core>`_
   - `SD-Core Public Folder <https://drive.google.com/drive/folders/1dM5b0B65LkQQ0dGK1m-iIceRJfAASEm1>`_
 
-- Stay in touch by joining
-
-  - `SD-Core mailing list <https://groups.google.com/a/opennetworking.org/g/sdcore-announce>`_
-  - \#sdcore-dev channel in `ONF Community Slack <https://onf-community.slack.com>`_
-
 
 Community
 ---------
@@ -42,6 +41,12 @@
 can be found on the `SD-Core Wiki
 <https://wiki.opennetworking.org/display/COM/SD-Core>`_.
 
+- Stay in touch by joining
+
+  - `SD-Core mailing list <https://groups.google.com/a/opennetworking.org/g/sdcore-announce>`_
+  - \#sdcore-dev channel in `ONF Community Slack <https://onf-community.slack.com>`_
+
+
 .. toctree::
    :maxdepth: 2
    :caption: Overview
@@ -57,7 +62,7 @@
 
 .. toctree::
    :maxdepth: 2
-   :caption: Configuration & Deployment
+   :caption: Configuration
    :hidden:
    :glob:
 
@@ -65,8 +70,17 @@
    configuration/config_rest.rst
    configuration/config_simapp.rst
    configuration/application_filtering.rst
+   configuration/qos_config.rst
+
+.. toctree::
+   :maxdepth: 2
+   :caption: Deployment
+   :hidden:
+   :glob:
+
    deployment/deployment4G.rst
    deployment/deployment5G.rst
+   deployment/deploymentupf.rst
 
 .. toctree::
    :maxdepth: 3
@@ -94,6 +108,7 @@
    :glob:
 
    developer/aiab.rst
+   developer/aiab5g.rst
    developer/gnbsim.rst
    developer/testpod.rst
 
diff --git a/overview/faq.rst b/overview/faq.rst
index 28429dc..de1d803 100644
--- a/overview/faq.rst
+++ b/overview/faq.rst
@@ -18,11 +18,23 @@
     * **Is SD-Core/5G-Core cloud native?**
 
         *SD-Core is not cloud native, but it runs in K8s environment.*
-        *As per road map AMF, SMF will be cloud native by the mid of 2022. This is WIP.*
+        *As per road map AMF, SMF will be cloud native by the Q3 of 2022. This is WIP.*
 
     * **What are the changes omec 5G has on top of free5gc?**
 
-        * Please refer this - document for details of the changes.*
+        * Configuration APIs to configure all network functions
+        * QoS support at default flow and per application flow
+        * 5000 subscribers with 10 calls per second stability achieved (Single Instance)
+        * Error cases with UPF connectivity fixed
+        * Error case of no response or message retransmission towards UPF
+        * Error cases with Network functions restarts fixed
+        * Stability issues on NGAP interfaces and N1 interfaces fixed
+        * 100+ code commits to achieve code stability
+        * 3gpp compliance of 5G core is added in SD core documentation
+        * per UE FSM in AMF & SMF
+        * Transaction support in AMF & SMF
+        * UE address allocation by UPF support at SMF
+        * **There are many more changes done and above are just high level summary**
 
     * **Network Performance Testing of SD-Core**