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