Update config Section

1. QoS config update
2. UPF configuration update
3. UE address allocation notes cleanup

Change-Id: Ibdeb0f54a25fd39da094b03ad2f762812592c0e7
diff --git a/configuration/config.rst b/configuration/config.rst
index 09171ea..ea0feea 100644
--- a/configuration/config.rst
+++ b/configuration/config.rst
@@ -82,11 +82,17 @@
         - Step1 can only be done through Simapp. Look for simapp override values.
         - Step2 & Step3 can be done through Simapp or ROC. Simapp has option to create network slice. Look for configuration *provision-network-slice: false* in simapp configuration
 
+.. note::
+   If UPF is used to allocate UE address allocation then even if you have specified UE
+   address pool in the slice config, you still need to add the address pool
+   configuration in the UPF deployment.
+
 4G, 5G Configuration Differences
 --------------------------------
 One of the most important difference in 4G & 5G configuration is around network slice. 5G has
-network slice Ids sent in protocol messages whereas 4G does not have any slice Id in messages.
-We implement slicing in 4G using APNs. Let's go over these difference in detail below,
+network slice Ids sent on 3gpp defined protocol messages whereas 4G does not have any slice Id in
+3gpp defined protocol messages. We implement slicing in 4G using APNs. Let's go over these
+difference in detail below,
 
 - **Slice Id** : Since 4G does not have slice Id in any protocol messages, configured slice Ids
   are ignored in 4G components. So it also means that even if configured slice Ids are
@@ -98,33 +104,6 @@
   case of 5G because 5G has slice Id along with APN/DNN. So in general its good practice to
   keep APN/DNN in the slice unique so same slice can work for 4G & 5G configuration.
 
-
-- **UE Address Allocation**: In the Slice API you will see that we provide UE IP pool configuration.
-  Its important to know how UE IP address allocation is supported in SD-Core 4G & 5G components.
-
-  In case of 4G, Control Plane supports UE address allocation from UPF. So it also means that even
-  if you have specified UE address pool in the slice config, you still need to add the address pool
-  configuration in the UPF deployment.
-
-  In case of 5G, control plane has the capability to manage multiple IP pools so SMF uses the UE
-  address pool configuration received in the network slice APIs
-  and use them to appropriately assign UE address. But remember SD-Core 5G does not support UE IP
-  address allocation from UPF. So in case of 5G UPF configuration, even if you don't configure address
-  pool configuration it is still fine. We plan to add support of UPF UE address allocation in  next
-  release.
-
-
-.. code-block::
-
-  #override config to configure upf address pool
-  config:
-    upf:
-      cfgFiles:
-        upf.json:
-          cpiface:
-            enable_ue_ip_alloc: true
-            ue_ip_pool: "10.96.2.0/26"
-
 - **DNN/APN in Initial Attach/Register Message** : In case of 4G, if UE has set any random APN then
   MME overrides the APN based on the user profile in HSS. So its important to note that even if APN
   is not matching with configured APN we are still good.  In case of 5G, apn name & Slice ID coming
diff --git a/configuration/config_rest.rst b/configuration/config_rest.rst
index 8ce5ea5..e256660 100644
--- a/configuration/config_rest.rst
+++ b/configuration/config_rest.rst
@@ -91,6 +91,12 @@
     REST API can use PUT Method to modify/replace the device group configuration.
     IMSIs can be added, removed through PUT Method.
 
+.. note::
+   If UPF is used to allocate UE address allocation then even if you have specified UE
+   address pool in the slice config, you still need to add the address pool
+   configuration in the UPF deployment.
+
+
 Network Slice Configuration
 """""""""""""""""""""""""""
 Below example creates Network Slice with set of eNBs, UPF and device groups.
diff --git a/configuration/config_upf.rst b/configuration/config_upf.rst
new file mode 100644
index 0000000..4c8bca5
--- /dev/null
+++ b/configuration/config_upf.rst
@@ -0,0 +1,78 @@
+..
+   SPDX-FileCopyrightText: © 2022 Open Networking Foundation <support@opennetworking.org>
+   SPDX-License-Identifier: Apache-2.0
+
+UPF Configuration
+=================
+
+Below you may find some of the upf override configuration.
+
+Bess default values `can be found here <https://gerrit.opencord.org/plugins/gitiles/sdfabric-helm-charts/+/refs/heads/master/bess-upf/values.yaml>`_
+
+UPF Address Pool
+-----------------
+
+Below config is basic minimal config which has UE address pool configuration
+.. code-block::
+
+  config:
+    upf:
+      cfgFiles:
+        upf.json:
+          mode: af_packet  #this mode means no dpdk
+          hwcksum: true
+          log_level: "trace"
+          gtppsc: true #extension header is enabled in 5G. Sending QFI in pdu session extension header
+          measure_upf: false #enable packet processing time
+          cpiface:
+            dnn: "internet" #keep it matching with Slice dnn
+            hostname: "upf"
+            #http_port: "8080"
+            enable_ue_ip_alloc: true # if true then it means UPF allocates address from below pool
+            ue_ip_pool: "172.250.0.0/16" # UE ip pool is used if enable_ue_ip_alloc is set to true
+
+
+Slice rate Configuration
+------------------------
+
+.. code-block::
+
+  config:
+    upf:
+      cfgFiles:
+        upf.json:
+          # Default global rate limits. Can be changed at runtime via BESS gRPC.
+          slice_rate_limit_config:
+            # Uplink
+            n6_bps: 1000000000 # 1Gbps
+            n6_burst_bytes: 12500000 # 10ms * 1Gbps
+            # Downlink
+            n3_bps: 1000000000 # 1Gbps
+            n3_burst_bytes: 12500000 # 10ms * 1Gbps
+
+.. note::
+  TBD : add REST api documentation to change slice QoS rates.
+
+UPF Enable dpdk & sriov
+------------------------
+
+.. code-block::
+
+  config:
+    upf:
+      # Enable privileged when run from VM with sriov support
+      privileged: false
+      hugepage:
+        enabled: true
+      sriov:
+        enabled: true
+      cniPlugin: vfioveth
+      access:
+        # Provide sriov resource name when sriov is enabled
+        resourceName: "intel.com/intel_sriov_vfio"
+      core:
+        # Provide sriov resource name when sriov is enabled
+        resourceName: "intel.com/intel_sriov_vfio"
+      cfgFiles:
+        upf.json:
+          mode: dpdk
diff --git a/configuration/qos_config.rst b/configuration/qos_config.rst
index db43b6a..99877d1 100644
--- a/configuration/qos_config.rst
+++ b/configuration/qos_config.rst
@@ -108,3 +108,25 @@
                 upf:
                   upf-name: "upf"
                   upf-port: 8805
+
+BESS UPF Slice rate Configuration
+----------------------------------
+
+.. code-block::
+
+  config:
+    upf:
+      cfgFiles:
+        upf.json:
+          # Default global rate limits. Can be changed at runtime via BESS gRPC.
+          slice_rate_limit_config:
+            # Uplink
+            n6_bps: 1000000000 # 1Gbps
+            n6_burst_bytes: 12500000 # 10ms * 1Gbps
+            # Downlink
+            n3_bps: 1000000000 # 1Gbps
+            n3_burst_bytes: 12500000 # 10ms * 1Gbps
+
+.. note::
+  TBD : add REST api documentation to change slice QoS rates.
+  TBD : How to update slice QoS configuration in P4-UPF
diff --git a/dict.txt b/dict.txt
index 31ecfa8..0688838 100644
--- a/dict.txt
+++ b/dict.txt
@@ -99,6 +99,7 @@
 dnn
 dns
 downlink
+dpdk
 eNB
 eNBID
 eNBs
@@ -190,6 +191,7 @@
 smftest
 spgw
 spgwc
+sriov
 sst
 tac
 tcp
diff --git a/index.rst b/index.rst
index f8825b0..4fe50e4 100644
--- a/index.rst
+++ b/index.rst
@@ -71,6 +71,7 @@
    configuration/config_simapp.rst
    configuration/application_filtering.rst
    configuration/qos_config.rst
+   configuration/config_upf.rst
 
 .. toctree::
    :maxdepth: 2