Update UERANSIM installation details and UPF installation details
Change-Id: I6588c4cb19e23521d46a1e9b19b33fd0bdf27f58
diff --git a/_static/images/ueransim.jpg b/_static/images/ueransim.jpg
new file mode 100644
index 0000000..8f41a85
--- /dev/null
+++ b/_static/images/ueransim.jpg
Binary files differ
diff --git a/deployment/deploymentueransim.rst b/deployment/deploymentueransim.rst
new file mode 100644
index 0000000..b22b176
--- /dev/null
+++ b/deployment/deploymentueransim.rst
@@ -0,0 +1,149 @@
+..
+ SPDX-FileCopyrightText: © 2022 Open Networking Foundation <support@opennetworking.org>
+ SPDX-License-Identifier: Apache-2.0
+
+.. _deployment_ueransim_guide:
+
+UERANSIM Deployment Guide
+==========================
+
+Network Setup
+'''''''''''''
+.. image:: ../_static/images/ueransim.jpg
+ :width: 700px
+
+
+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: 10.10.1.1 #ip address of DATA_IFACE
+ 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 UERANSIM VM
+
+UERANSIM VM Preparation
+'''''''''''''''''''''''
+
+- Single interface is used for user plane traffic towards UPF and also control plane
+ traffic towards AMF
+
+- Add following route in routing table for sending traffic over ``DATA_IFACE`` interface ::
+
+ $ ip route add 192.168.252.3 via 10.10.1.1
+
+- Changes done on UERANSIM to match config with above network topology::
+
+ diff --git a/config/free5gc-gnb.yaml b/config/free5gc-gnb.yaml
+ index 81bb13b..452ccad 100644
+ --- a/config/free5gc-gnb.yaml
+ +++ b/config/free5gc-gnb.yaml
+ @@ -5,13 +5,13 @@ nci: '0x000000010' # NR Cell Identity (36-bit)
+ idLength: 32 # NR gNB ID length in bits [22...32]
+ tac: 1 # Tracking Area Code
+
+ -linkIp: 127.0.0.1 # gNB's local IP address for Radio Link Simulation (Usually same with local IP)
+ -ngapIp: 127.0.0.1 # gNB's local IP address for N2 Interface (Usually same with local IP)
+ -gtpIp: 127.0.0.1 # gNB's local IP address for N3 Interface (Usually same with local IP)
+ +linkIp: 10.10.1.2 # gNB's local IP address for Radio Link Simulation (Usually same with local IP)
+ +ngapIp: 10.10.1.2 # gNB's local IP address for N2 Interface (Usually same with local IP)
+ +gtpIp: 10.10.1.2 # gNB's local IP address for N3 Interface (Usually same with local IP)
+
+ # List of AMF address information
+ amfConfigs:
+ - - address: 127.0.0.1
+ + - address: 10.10.1.1
+ port: 38412
+
+ # List of supported S-NSSAIs by this gNB
+ diff --git a/config/free5gc-ue.yaml b/config/free5gc-ue.yaml
+ index 9089ba0..aa0df2e 100644
+ --- a/config/free5gc-ue.yaml
+ +++ b/config/free5gc-ue.yaml
+ @@ -1,14 +1,14 @@
+ # IMSI number of the UE. IMSI = [MCC|MNC|MSISDN] (In total 15 digits)
+ -supi: 'imsi-208930000000003'
+ +supi: 'imsi-208930100007509'
+ # Mobile Country Code value of HPLMN
+ mcc: '208'
+ # Mobile Network Code value of HPLMN (2 or 3 digits)
+ mnc: '93'
+
+ # Permanent subscription key
+ -key: '8baf473f2f8fd09487cccbd7097c6862'
+ +key: '5122250214c33e723a5dd523fc145fc0'
+ # Operator code (OP or OPC) of the UE
+ -op: '8e27b6af0e692e750f32667a3b14605d'
+ +op: '981d464c7c52eb6e5036234984ad0bcf'
+ # This value specifies the OP type and it can be either 'OP' or 'OPC'
+ opType: 'OPC'
+ # Authentication Management Field (AMF) value
+ @@ -20,7 +20,7 @@ imeiSv: '4370816125816151'
+
+ # List of gNB IP addresses for Radio Link Simulation
+ gnbSearchList:
+ - - 127.0.0.1
+ + - 10.10.1.2
+
+ # UAC Access Identities Configuration
+ uacAic:
+ @@ -57,14 +57,14 @@ default-nssai:
+ # Supported integrity algorithms by this UE
+ integrity:
+ IA1: true
+ - IA2: true
+ - IA3: true
+ + IA2: false
+ + IA3: false
+
+ # Supported encryption algorithms by this UE
+ ciphering:
+ - EA1: true
+ - EA2: true
+ - EA3: true
+ + EA1: false
+ + EA2: false
+ + EA3: false
+
+ # Integrity protection maximum data rate for user plane
+ integrityMaxRate:
+
+
+- Once UE is connected to 5G NetwChanges done on UERANSIM to match config with above network topology::
+
+ node1:~ ifconfig uesimtun0
+
+ uesimtun0: flags=369<UP,POINTOPOINT,NOTRAILERS,RUNNING,PROMISC> mtu 1400
+ inet 172.250.237.124 netmask 255.255.255.255 destination 172.250.237.124
+ inet6 fe80::2697:29c8:d043:cf35 prefixlen 64 scopeid 0x20<link>
+ unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
+ RX packets 16 bytes 1344 (1.3 KB)
+ RX errors 0 dropped 0 overruns 0 frame 0
+ TX packets 558 bytes 46516 (46.5 KB)
+ TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
+
+ node1:~$ ping -I uesimtun1 8.8.8.8
+ PING 8.8.8.8 (8.8.8.8) from 172.250.237.124 uesimtun1: 56(84) bytes of data.
+ 64 bytes from 8.8.8.8: icmp_seq=1 ttl=111 time=14.4 ms
+ 64 bytes from 8.8.8.8: icmp_seq=2 ttl=111 time=14.4 ms
+ ^C
+ --- 8.8.8.8 ping statistics ---
+ 2 packets transmitted, 2 received, 0% packet loss, time 1002ms
+ rtt min/avg/max/mdev = 14.377/14.380/14.384/0.003 ms
+ node1:~$
+
+
+.. note::
+ In above network topology, SD-Core node has iptables NAT rule applied so that
+ UE traffic is NATed and reverse traffic is sent to UERANSIM.
+
+ iptables -t nat -A POSTROUTING -o eno34 -j MASQUERADE
diff --git a/deployment/deploymentupf.rst b/deployment/deploymentupf.rst
index cb5fd36..8c4931c 100644
--- a/deployment/deploymentupf.rst
+++ b/deployment/deploymentupf.rst
@@ -8,6 +8,7 @@
====================
- Each Site has one or more UPFs dedicated for use case
+- Each Slice supports only 1 UPF
- 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
@@ -15,4 +16,19 @@
- 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.
+- UPF Attach/detach to SD-Core. UPF Pools created based on enterprise need.
+
+Option1: AF_PACKET Mode UPF
+''''''''''''''''''''''''''''
+
+- Refer Aether in a box (AIAB) for this mode.
+- AIAB has all default values and its good example of how to use AF_PACKET mode
+- If performance is not the concern then this option should be considered
+- AF_PACKET mode is easy to deploy and does not need to do extra installations on K8s node
+
+
+Option2: SRIOV and DPDK enabled UPF
+'''''''''''''''''''''''''''''''''''''
+
+- This option should be preferred if performance is utmost important
+- Please refer to `UPF Installation Guide <https://docs.google.com/document/d/1-BT7XqVsL7ffBlD7aweYaScKDQH7Gv5tHKt-sJGuf6c/edit#>`_ guide for more details
diff --git a/dict.txt b/dict.txt
index 6c10022..4cc0f29 100644
--- a/dict.txt
+++ b/dict.txt
@@ -113,6 +113,7 @@
eNBs
eNodeB
eb
+eno
epc
equipments
execInParallel
@@ -139,6 +140,7 @@
instantiation
iot
ip
+iptables
jitter
json
keepalive
@@ -158,6 +160,7 @@
multus
myvalues
namespace
+nat
natively
ng
ngap
diff --git a/index.rst b/index.rst
index ac11b63..85a06e3 100644
--- a/index.rst
+++ b/index.rst
@@ -83,6 +83,7 @@
deployment/deployment5G.rst
deployment/deploymentupf.rst
deployment/deploymentgnbsim.rst
+ deployment/deploymentueransim.rst
.. toctree::
:maxdepth: 2