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**