Documentation updates
[o-du/l2.git] / docs / overview.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. SPDX-License-Identifier: CC-BY-4.0
3
4
5 O-DU High Overview
6 *********************
7
8 O-DU High Architecture
9 ======================
10
11 O-DU implements the functional blocks of L2 layer of a 5G NR protocol stack in SA(StandAlone) mode.
12 These layers primarily include NR MAC, NR Scheduler and NR RLC layers.
13
14 O-DU modules are developed as shown in the below diagram.
15
16 .. figure:: ODUArch.jpg
17   :width: 600
18   :alt: Figure 1 O-DU High Architecture Diagram
19
20   Figure 1 - O-DU High Architecture Diagram
21
22 O-DU High Thread Architecture
23 -------------------------------
24
25 As shown in Figure 1, there are multiple entities within O-DU High. Modules sharing a
26 given color belong to one thread. O-DU architecture can be defined at a thread
27 level as follows:
28
29 - Thread 1: O-DU thread
30
31 - Thread 2: DU APP inclusive of Config Handler, DU Manager, UE Manager, EGTP Handler and ASN.1 Codecs
32
33 - Thread 3: 5G NR RLC DL and MAC (inclusive of 5G NR SCH and Lower MAC)
34
35 - Thread 4: 5G NR RLC UL
36
37 - Thread 5: SCTP Handler
38
39 - Thread 6: Lower MAC Handler
40
41
42 O-DU High Modules
43 --------------------------
44
45 DU APP 
46 ^^^^^^^^^^^^^^^^^^
47 This module configures and manages all the operations of O-DU.
48 It interfaces with external entities as follows:
49
50 - OAM:  DU APP interacts with OAM on the O1 interface for configuration, alarms and performance management.
51
52 - O-CU: DU APP interacts with O-CU for RAN functionalities over the F1 interface which is built on SCTP. Control messages are exchanged on the F1-C interface and data messages on the F1-U interface.
53
54 - RIC: DU APP interacts with RIC on E2 interface over SCTP.
55
56
57 DU App submodules are as follows:
58
59 - Config Handler manages the configurations received on O1 interfaces and stores them within DU APP context.
60
61 - DU Manager handles all cell operations at the DU APP.
62
63 - UE Manager handles UE contexts at the DU APP.
64
65 - SCTP handler is responsible for establishing SCTP connections with O-CU, RIC on the F1AP and E2AP interfaces
66   respectively.
67
68 - EGTP handler is responsible for establishing EGTP connection with O-CU for data message exchange on the F1-U
69   interface.
70
71 - ASN.1 Codecs contain ASN.1 encode/decode functions which are used for System information, F1AP and E2AP messages.
72
73 5G NR RLC
74 ^^^^^^^^^^^^^^^^^^
75 This module provides services for transferring the control and data messages
76 between MAC layer and O-CU (via DU App).
77
78 5G NR RLC UL and 5G NR RLC DL are the sub modules of this module that implement
79 uplink and downlink functionality respectively. 
80
81 5G NR MAC
82 ^^^^^^^^^^^^^^^^^^
83 This module uses the services of the NR physical layer to send and receive data
84 on the various logical channels.
85 Functions of the 5G NR MAC module are as follows:
86
87 - 5G NR MAC is responsible for multiplexing and de-multiplexing of the data on various logical channels.
88
89 - 5G NR SCH schedules resources in UL and DL for cell and UE based procedures.
90   5G NR SCH is completely encapsulated within the 5G NR MAC i.e., all interactions of the 5G NR SCH is via the 5G NR MAC.
91
92 - Lower MAC interfaces between the MAC and the O-DU Low. It implements all the messages of FAPI
93   specification. It has a receiver thread to handle messages from L1.
94
95
96 O-DU Utility and Common Functions
97 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
98 These modules contain platform specific files and support O-DU High functionality and message exchanges.
99
100
101 O-DU-High Interfaces
102 ======================
103
104
105 This section describes the other modules that O-DU High interfaces with, as shown in below diagram.
106
107 .. figure:: O-DUHighInterfaces.jpg
108   :width: 600
109   :alt: O-DU High Interfaces
110
111   Figure 2 - O-DU High Interfaces
112
113
114 As shown in Figure 2, O-DU High interfaces with the following modules:
115
116 - O-CU: O-DU High communicates with O-CU on the F1AP interface. The control message exchanges are on F1-C while
117   data message exchanges are on F1-U interfaces. The below F1AP messages on F1-C are implemented, as per
118   3GPP 38.473-f60 v15.3:
119
120   - Interface Management
121
122     - F1 Setup
123
124     - gNB-DU Configuration Update
125
126     - F1 Reset
127
128   - UE Context Management 
129
130     - UE Context Setup
131
132   - RRC Message Transfer
133                 
134     - Initial UL RRC Message Transfer
135
136     - DL RRC Message Transfer
137
138     - UL RRC Message Transfer
139
140     - RRC Delivery Report
141
142 - Near RT RIC: O-DU High communicates with Near RT RIC on the E2 interface. The below E2AP messages are
143   implemented, as per ORAN WG3.E2AP v01.00:
144
145   - Global Procedures
146
147     - E2 Setup
148
149   - Near RT RIC Functional Procedures
150                 
151     - RIC Subscription
152
153     - RIC Indication
154
155 - O-DU Low: O-DU High communicates with O-DU Low on the FAPI interface. The below FAPI messages are supported, 
156   as per FAPI interface files shared by Intel:
157
158   - P5 messages - PHY mode control interface
159         
160     - PARAM.request/PARAM.response
161
162     - CONFIG.request/CONFIG.response
163
164     - START.request
165
166     - STOP.request
167
168     - STOP.indication
169
170   - P7 messages - Main data path interface
171
172     - DL_TTI.request
173
174     - UL_TTI.request
175
176     - SLOT.indication
177
178     - UL_DCI.request
179
180     - TX_Data.request
181
182     - RX_Data.indication
183
184     - CRC.indication
185
186     - UCI.indication
187
188     - RACH.indication
189
190 - OAM: O-DU High communicates with OAM on the O1 interface.
191
192
193
194 O-DU High functionality
195 ========================
196
197
198 Cell Up and Broadcast Procedure
199 --------------------------------
200
201 This section describes the cell-up procedure within O-DU High.
202
203 .. figure:: CellUpAndBroadcast.png
204   :width: 720
205   :alt: Cell Up and Broadcast Procedure
206
207   Figure 3 - O-DU High Cell Up and Broadcast Procedure
208
209
210 As seen in the Figure 3,
211 - The DU APP module of O-DU High sends F1 Setup Request to O-CU. This message contains a list of cells that the O-DU High has been configured with.
212
213 - The O-CU responds with F1 Setup Response. This message contains a list of cells which must be activated.
214
215 - The O-DU High scans the list of cells received and sends corresponding cell configurations to 5G NR MAC.
216
217 - 5G NR MAC, in-turn configures the 5G NR SCH. It also configures the O-DU Low via the Lower MAC module.
218
219 - On receiving the cell config response, DU APP sends a gNB DU Config Update towards the O-CU. The O-CU responds with
220   gNB DU Config Update ACK towards the O-DU High.
221
222 - The DU APP now exchanges F1 Reset message with the O-CU to initialize the UE contexts.
223
224 - DU APP sends Cell Start Req towards 5G NR MAC. This message is translated by the Lower MAC into the FAPI message START.request towards the O-DU
225   Low.
226
227 - On receiving START.request, O-DU Low begins to send slot indications towards 5G NR MAC via the lower MAC.
228   The frequency of these slot indications is determined by the numerology(Mu) supported.
229   5G NR MAC forwards these slot indications to the 5G NR SCH and DU APP modules.
230
231 - When the first slot indication reaches the DU APP, cell is marked as up.
232
233 - The 5G NR SCH, keeps tracking the SSB and SIB1 ocassions on receiving regular slot indications. 
234   On detecting the relevant ocassion, 5G NR SCH schedules SSB/SIB1 and forwards the DL Scheduling Information to 5G NR MAC.
235
236 - The 5G NR MAC mutiplexes the PDU and sends SSB/SIB1 packets towards the O-DU Low through the Lower MAC.
237
238
239
240 UE Related Procedure
241 -----------------------
242
243
244 The O-DU High supports 
245
246 - All physical channels - PBCH, PRACH, PDCCH, PDSCH, PUSCH, PUCCH
247
248 - All control logical channels - UL CCCH, DL CCCH, UL DCCH, DL DCCH
249
250 - All control transport channels - BCH, UL-SCH, DL-SCH, RACH
251
252 The above channels are used to achieve the below messages:
253
254 - Cell broadcast of System Information which includes SSB and SIB1.
255
256 - RACH Procedure
257
258   - RACH Indication
259
260   - Random Access Response
261
262   - RRC Setup Request
263
264   - RRC Setup
265
266 - UE attach signalling flow
267
268   - RRC Setup Complete
269
270   - Registraton Request
271
272   - Security Mode Command
273
274   - Security Mode Complete
275
276   - Registraton Accept
277
278   - Registraton Complete
279
280   - Several NAS Message Exchanges
281
282   - RRC Reconfiguration
283
284   - RRC Reconfiguration Complete
285
286 Figure 4 below depicts the above call flow, inclusive of all interfaces:
287
288 .. figure:: UeAttach.png
289   :width: 800
290   :alt: O-DU High UE Attach Flow
291
292   Figure 4 - UE Attach Flow
293
294
295
296 OSC Testcases Supported
297 =========================
298
299 The O-DU High partially supports below use-cases:
300
301 - Traffic Steering
302
303 - Health Check
304
305