Skip to content

Commit d432a05

Browse files
authored
Improve configuration documentation (#99)
* Improve configuration documentation Signed-off-by: Arrobo, Gabriel <gabriel.arrobo@intel.com> * Address Copilot's comment and address spelling issue Signed-off-by: Arrobo, Gabriel <gabriel.arrobo@intel.com> --------- Signed-off-by: Arrobo, Gabriel <gabriel.arrobo@intel.com>
1 parent 3eca5a0 commit d432a05

File tree

7 files changed

+784
-732
lines changed

7 files changed

+784
-732
lines changed

configuration/application_filtering.rst

Lines changed: 85 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -14,90 +14,89 @@ Application Filtering Overview
1414
Below config snapshot shows how to configure application filtering in the network slice.
1515
Each application filter in the network slice can have action either ``permit`` or ``deny``
1616

17-
.. code-block::
17+
.. code-block:: yaml
1818
19-
config:
20-
simapp:
21-
cfgFiles:
22-
simapp.yaml:
23-
configuration:
24-
provision-network-slice: true
25-
sub-provision-endpt:
26-
addr: config4g
27-
port: 5000
28-
subscribers:
29-
- ueId-start: 208014567891201
30-
ueId-end: 208014567891211
31-
plmnId: 20801
32-
opc: "d4416644f6154936193433dd20a0ace0"
33-
op: ""
34-
key: "465b5ce8b199b49faa5f0a2ee238a6bc"
35-
sequenceNumber: 96
36-
device-groups:
37-
- name: "4g-oaisim-user"
38-
imsis:
39-
- "208014567891201"
40-
- "208014567891202"
41-
ip-domain-name: "pool1"
42-
ip-domain-expanded:
43-
dnn: internet
44-
dns-primary: "8.8.8.8"
45-
mtu: 1460
46-
ue-ip-pool: "172.250.0.0/16"
47-
ue-dnn-qos:
48-
dnn-mbr-downlink: 20000000
49-
dnn-mbr-uplink: 4000000
50-
bitrate-unit: bps
51-
traffic-class: #default bearer QCI/ARP
52-
name: "platinum"
53-
qci: 9
54-
arp: 1
55-
pdb: 300
56-
pelr: 6
57-
site-info: "aiab"
58-
59-
network-slices:
60-
- name: "default"
61-
slice-id:
62-
sd: "010203"
63-
sst: 1
64-
site-device-group:
65-
- "4g-oaisim-user"
66-
application-filtering-rules:
67-
- rule-name: "deny-private1"
68-
priority: 250
69-
action: permit
70-
endpoint: "10.0.0.0/8"
71-
protocol: 6
72-
dest-port-start: 20005
73-
dest-port-end: 20005
74-
traffic-class:
75-
name: “platinum”
76-
qci: 9
77-
arp: 1
78-
pdb: 300
79-
pelr: 6
80-
- rule-name: “deny-private-2”
81-
priority: 251
82-
action: permit
83-
endpoint: "172.16.0.0/16"
84-
protocol: 6
85-
dest-port-start: 20005
86-
dest-port-end: 20005
87-
traffic-class:
88-
name: “platinum”
89-
qci: 9
90-
arp: 1
91-
pdb: 300
92-
pelr: 6
93-
site-info:
94-
gNodeBs:
95-
- name: "aiab-gnb1"
96-
tac: 1
97-
plmn:
98-
mcc: "208"
99-
mnc: "01"
100-
site-name: "aiab"
101-
upf:
102-
upf-name: "upf"
103-
upf-port: 8805
19+
config:
20+
simapp:
21+
cfgFiles:
22+
simapp.yaml:
23+
configuration:
24+
provision-network-slice: true
25+
sub-provision-endpt:
26+
addr: config4g
27+
port: 5000
28+
subscribers:
29+
- ueId-start: 208014567891201
30+
ueId-end: 208014567891211
31+
plmnId: 20801
32+
opc: "d4416644f6154936193433dd20a0ace0"
33+
op: ""
34+
key: "465b5ce8b199b49faa5f0a2ee238a6bc"
35+
sequenceNumber: 96
36+
device-groups:
37+
- name: "4g-oaisim-user"
38+
imsis:
39+
- "208014567891201"
40+
- "208014567891202"
41+
ip-domain-name: "pool1"
42+
ip-domain-expanded:
43+
dnn: internet
44+
dns-primary: "8.8.8.8"
45+
mtu: 1460
46+
ue-ip-pool: "172.250.0.0/16"
47+
ue-dnn-qos:
48+
dnn-mbr-downlink: 20000000
49+
dnn-mbr-uplink: 4000000
50+
bitrate-unit: bps
51+
traffic-class: #default bearer QCI/ARP
52+
name: "platinum"
53+
qci: 9
54+
arp: 1
55+
pdb: 300
56+
pelr: 6
57+
site-info: "aiab"
58+
network-slices:
59+
- name: "default"
60+
slice-id:
61+
sd: "010203"
62+
sst: 1
63+
site-device-group:
64+
- "4g-oaisim-user"
65+
application-filtering-rules:
66+
- rule-name: "deny-private1"
67+
priority: 250
68+
action: permit
69+
endpoint: "10.0.0.0/8"
70+
protocol: 6
71+
dest-port-start: 20005
72+
dest-port-end: 20005
73+
traffic-class:
74+
name: “platinum”
75+
qci: 9
76+
arp: 1
77+
pdb: 300
78+
pelr: 6
79+
- rule-name: “deny-private-2”
80+
priority: 251
81+
action: permit
82+
endpoint: "172.16.0.0/16"
83+
protocol: 6
84+
dest-port-start: 20005
85+
dest-port-end: 20005
86+
traffic-class:
87+
name: “platinum”
88+
qci: 9
89+
arp: 1
90+
pdb: 300
91+
pelr: 6
92+
site-info:
93+
gNodeBs:
94+
- name: "aiab-gnb1"
95+
tac: 1
96+
plmn:
97+
mcc: "208"
98+
mnc: "01"
99+
site-name: "aiab"
100+
upf:
101+
upf-name: "upf"
102+
upf-port: 8805

configuration/config.rst

Lines changed: 82 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -6,44 +6,51 @@ Configuration Overview
66
======================
77

88
SD-Core has been developed with a cloud-based deployment and consumption model as
9-
its foundation. It has a rich and extensible set of APIs to allow for runtime configurability of
10-
subscriber management, access management, session management, and network slice
11-
management. This configuration may be conducted via ONFs Runtime Operational Control
12-
(ROC) platform directly for consumption as a cloud-managed service, or the APIs can be
13-
used by third-party automation and management platforms.
9+
its foundation. It provides a rich and extensible set of APIs to enable runtime
10+
configurability of subscriber management, access management, session management, and
11+
network slice management. This configuration can be conducted via ONF's Runtime
12+
Operational Control (ROC) platform directly for consumption as a cloud-managed service,
13+
or the APIs can be used by third-party automation and management platforms.
1414

15-
Reference helm chart
16-
--------------------
15+
Reference Helm Charts
16+
---------------------
17+
18+
SD-Core Helm charts are available in the following repository:
19+
20+
- `SD-Core Helm Chart Repository <https://github.com/omec-project/sdcore-helm-charts>`_
1721

18-
- `SD-Core Helm Chart Repository <https://github.com/omec-project/sdcore-helm-charts>`_
19-
- Sub components in sdcore-helm-charts
22+
Sub-components in ``sdcore-helm-charts``:
2023

21-
- omec-control-plane: 4G Network functions helm charts
22-
- 5g-control-plane: 5G Network functions helm charts
23-
- omec-sub-provision: Simapp helm charts
24-
- 5g-ran-sim : gNBSim helm charts
24+
- ``omec-control-plane``: 4G network function Helm charts
25+
- ``5g-control-plane``: 5G network function Helm charts
26+
- ``omec-sub-provision``: Simapp Helm charts
27+
- ``5g-ran-sim``: gNBSim Helm charts
2528

2629
Configuration Methods
2730
---------------------
28-
SD-Core supports 2 ways to configure network functions and micro services.
2931

30-
- Helm Chart
32+
SD-Core supports two methods to configure network functions and microservices:
3133

32-
- Each individual network function and microservice has its own helm chart.
33-
- User needs to provide override values and deploy the network functions as per their need.
34-
- Use above helm charts appropriately and provide override values and install 4G/5G NFs.
34+
Helm Chart Configuration
35+
^^^^^^^^^^^^^^^^^^^^^^^^
3536

36-
- REST Config Interface
37+
- Each network function and microservice has its own Helm chart
38+
- Users provide override values and deploy network functions according to their requirements
39+
- Use the appropriate Helm charts with override values to install 4G/5G network functions
3740

38-
- Basic static configuration is still passed through helm chart ( logging level, image,...)
39-
- Dynamic *Network Slice* management APIs are provided through REST interface.
40-
- REST APIs are defined to create/modify/delete network slice.
41-
- REST APIs are also provided to provision subscribers and grouping the subscribers under device Group.
41+
REST Configuration Interface
42+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
43+
44+
- Basic static configuration is provided through Helm charts (e.g., logging level, images)
45+
- Dynamic Network Slice management APIs are available through a REST interface
46+
- REST APIs enable creation, modification, and deletion of network slices
47+
- REST APIs also support subscriber provisioning and grouping subscribers into device groups
4248

4349
.. note::
44-
- Simapp is the example of REST interface based configuration to provision subscribers in SD-Core
45-
- Simapp is also used to provision Network Slices in SD-Core in the absence of Portal
46-
- Aether ROC Portal used REST interface to configure Network Slices in SD-Core
50+
- Simapp is an example implementation of REST interface-based configuration for
51+
provisioning subscribers in SD-Core
52+
- Simapp is also used to provision network slices in SD-Core in the absence of a portal
53+
- Aether ROC Portal uses the REST interface to configure network slices in SD-Core
4754

4855
.. image:: ../_static/images/config_slice.png
4956
:width: 500px
@@ -53,59 +60,67 @@ SD-Core supports 2 ways to configure network functions and micro services.
5360

5461
Configuration Steps
5562
-------------------
56-
This Configuration describes what to configure at high level from RoC/SIMAPP. ConfigPod stores this configuration
57-
and publish to respective clients over REST/grpc.
5863

59-
- Step1 : Provision subscriber in 4G/5G subsystem
64+
This section describes the high-level configuration steps from ROC/Simapp. The ConfigPod
65+
stores this configuration and publishes it to respective clients over REST/gRPC.
6066

61-
- *Can be done only through SIMAPP*
62-
- This step is used to configure IMSI in the SD-Core
63-
- This procedure is used to configure security keys for a subscriber
64-
- Subscribers can be created during system startup or later
67+
**Step 1: Provision Subscribers in 4G/5G Subsystem**
6568

66-
- Step2 : Device Group Configuration
69+
- Can be done only through Simapp
70+
- Configure IMSI (International Mobile Subscriber Identity) in SD-Core
71+
- Configure security keys for each subscriber
72+
- Subscribers can be created during system startup or at runtime
6773

68-
- Group multiple devices under device group
69-
- Configure QoS for the device group
70-
- Configure IP domain configuration for the device group e.g. MTU, IP Pool, DNS server
74+
**Step 2: Device Group Configuration**
7175

76+
- Group multiple devices under a device group
77+
- Configure QoS (Quality of Service) for the device group
78+
- Configure IP domain settings for the device group (e.g., MTU, IP pool, DNS server)
7279

73-
- Step3: Network Slice Configuration
80+
**Step 3: Network Slice Configuration**
7481

75-
- Configuration to create a Network Slice
76-
- Add device Group into Network Slice
77-
- Slice contains the Slice level QoS configuration
78-
- Site configuration including UPF, eNBs/gNBs assigned to the slice
79-
- Applications allowed to be accessed by this slice (see :ref:`application-filtering`)
82+
- Create a network slice
83+
- Add device groups to the network slice
84+
- Configure slice-level QoS settings
85+
- Configure site information including UPF, eNBs/gNBs assigned to the slice
86+
- Define applications allowed to be accessed by this slice (see :ref:`application-filtering`)
8087

8188
.. note::
82-
- Step1 can only be done through Simapp. Look for simapp override values.
83-
- 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
89+
- Step 1 can only be performed through Simapp. Refer to Simapp override values.
90+
- Steps 2 and 3 can be performed through either Simapp or ROC. Simapp has an option
91+
to create network slices. Look for the configuration parameter
92+
``provision-network-slice: false`` in the Simapp configuration.
8493

8594
.. note::
8695
If UPF is used to allocate UE address allocation then even if you have specified UE
8796
address pool in the slice config, you still need to add the address pool
8897
configuration in the UPF deployment.
8998

90-
4G, 5G Configuration Differences
91-
--------------------------------
92-
One of the most important difference in 4G & 5G configuration is around network slice. 5G has
93-
network slice Ids sent on 3gpp defined protocol messages whereas 4G does not have any slice Id in
94-
3gpp defined protocol messages. We implement slicing in 4G using APNs. Let's go over these
95-
difference in detail below,
96-
97-
- **Slice Id** : Since 4G does not have slice Id in any protocol messages, configured slice Ids
98-
are ignored in 4G components. So it also means that even if configured slice Ids are
99-
duplicate it will not have any impact. But its still a good practice to have unique Slice
100-
Id per slice.
101-
102-
- **APN/DNN configuration**: In case of 4G each slice should have separate APN. This is required
103-
because APN is used as slice identifier internally in the 4G modules. This is not true in
104-
case of 5G because 5G has slice Id along with APN/DNN. So in general its good practice to
105-
keep APN/DNN in the slice unique so same slice can work for 4G & 5G configuration.
106-
107-
- **DNN/APN in Initial Attach/Register Message** : In case of 4G, if UE has set any random APN then
108-
MME overrides the APN based on the user profile in HSS. So its important to note that even if APN
109-
is not matching with configured APN we are still good. In case of 5G, apn name & Slice ID coming
110-
from UE is used to select SMF, so its important to have UE configured with correct APN/DNN name.
111-
Core network passed allowed slice IDs to UE in the registration accept message.
99+
4G and 5G Configuration Differences
100+
------------------------------------
101+
102+
One of the most important differences between 4G and 5G configuration relates to network
103+
slicing. 5G includes network slice IDs in 3GPP-defined protocol messages, whereas 4G does
104+
not. In 4G, we implement slicing using APNs (Access Point Names). Key differences include:
105+
106+
**Slice ID**
107+
108+
Since 4G does not include slice IDs in protocol messages, configured slice IDs are ignored
109+
in 4G components. This means duplicate slice IDs will not cause issues in 4G. However, it's
110+
still best practice to use unique slice IDs per slice for consistency.
111+
112+
**APN/DNN Configuration**
113+
114+
In 4G, each slice should have a separate APN. This is required because the APN serves as
115+
the slice identifier internally in 4G modules. In 5G, this restriction doesn't apply because
116+
5G uses both slice ID and DNN (Data Network Name). As a best practice, keep APNs/DNNs unique
117+
per slice so the same configuration works for both 4G and 5G.
118+
119+
**DNN/APN in Initial Attach/Register Message**
120+
121+
In 4G, if a UE sends a random APN, the MME overrides it based on the user profile in HSS.
122+
This means the connection succeeds even if the APN doesn't match the configured value.
123+
124+
In 5G, the APN name and Slice ID from the UE are used to select the SMF, so the UE must
125+
be configured with the correct APN/DNN name. The core network sends allowed slice IDs to
126+
the UE in the registration accept message.

0 commit comments

Comments
 (0)