# Study plan for 11.08.2022: Make a table of sub folder + source code names related to OAI DU with short explanation of what the source code does. Need to fix a few mistakes!
:::success
**References**
- [Repository](https://gitlab.eurecom.fr/oai/openairinterface5g/-/tree/develop/)
- [OAI 5G RAN PROJECT GROUP](https://openairinterface.org/oai-5g-ran-project/)
- [Webinar part 1](https://youtu.be/bmY7C0_dg5M)
- [Webinar part 2](https://youtu.be/9p2dptdyfbk)
- [Webinar part 3](https://youtu.be/0t1CERWVw2k)
- [Webinar part 4](https://youtu.be/biH3KBu6e7U)
:::
## Table of sub folder.
:::info
* Repository: - [openairinterface5g
\openair2](https://gitlab.eurecom.fr/oai/openairinterface5g/-/tree/develop/openair2)
* Contain: 732 Files, 23 Folders
:::
|Type|Name|Content|
|---|---|---|
|Directory|COMMON|See [COMMON](#openair2\COMMON)|
|Directory|DOCS|See [DOCS](#openair2\DOCS)|
|Directory|ENB_APP|See [ENB_APP](#openair2\ENB_APP)|
|Directory|F1AP|See [F1AP](#openair2\F1AP)|
|Directory|GNB_APP|See [GNB_APP](#openair2\GNB_APP)|
|Directory|LAYER2|See [LAYER2](#openair2\LAYER2)|
|Directory|NR_PHY_INTERFACE|See [ENB_APP](#openair2\NR_PHY_INTERFACE)|
### openair2\COMMON
|Type|Name|Content|
|---|---|---|
|NAS stack|as_message.h|Defines the messages supported by the Access Stratum sublayer protocol (usually RRC and S1AP for E-UTRAN) and functions used to encode and decode|
|NAS stack|commonDef.h|Contains global common definitions|
|NAS stack|f1ap_messages_def.h|F1 message encodeder|
|-|f1ap_messages_types.h|f1ap message transfer|
|-|flexran_messages_def.h|handle protobuf message|
|-|gtpv1_u_messages_def.h|-|
|-|itti_sim_messages_def.h|brief itti message for itti simulator|
|-|itti_sim_messages_types.h|brief itti message for itti simulator|
|-|m2ap_messages_def.h|ITTI LOG messages+ encoder|
|-|m3ap_messages_types.h|-|
|-|mac_messages_def.h|Messages between RRC and MAC layers|
|-|mac_messages_types.h|-|
|-|mac_rlc_primitives.h|primitives for communications between the RLC and MAC sub-layers|
|-|mac_rrc_primitives.h|communications between the RRC and MAC sub-layers|
|-|messages_def.h|-|
|-|nas_messages_def.h|-|
|-|nas_messages_types.h|-|
|NAS stack|networkDef.h|-|
|-|ngap_messages_def.h|Messages for NGAP logging|
|-|ngap_messages_types.h|-|
|-|openair_defs.h|code review comments + re-test|
|-|pdcp_messages_def.h|Messages between RRC and PDCP layers|
|-|phy_messages_types.h|-|
|-|platform_constants.h|GENERIC ACCESS STRATUM TYPES|
|-|ral_messages_def.h|-|
|-|ral_messages_types.h|-|
|-|rlc_messages_def.h|Messages for RLC logging|
|-|rrc_messages_types.h|Messages for RRC logging|
|-|rrm_constants.h|CONSTANTS FOR L1/L2/L3 LAYERS|
|-|rtos_header.h|-|
|-|s1ap_messages_def.h|Messages for S1AP logging |
|-|s1ap_messages_types.h|-|
|-|sctp_messages_def.h|-|
|-|CTP_MESSAGES_TYPES_H|-|
|-|udp_messages_types.h|-|
|-|x2ap_messages_def.h|ITTI LOG messages/ENCODER|
|-|x2ap_messages_types.h|-|
#### openair2\DOCS
|Type|Name|Content|
|---|---|---|
|Directory|DOXYGEN|See [DOXYGEN](#openair2\DOCS\DOXYGEN)|
|Directory|TEMPLATES|See [TEMPLATES](#openair2\DOCS\TEMPLATES)|
##### openair2\DOCS\DOXYGEN
|Type|Name|Content|
|---|---|---|
|Directory|images|Task's images|
|Info file|Doxyfile|Project related configuration options|
###### openair2\DOCS\TEMPLATES
|Type|Name|Content|
|---|---|---|
|Directory|CODE|images|
||-|Doxyfile(not use)|
||-|example_doxy.h(not use)|
###### openair2\ENB_APP
|Folder|Subfolder|Content|
|---|---|---|
|Directory|CONTROL_MODULES|See [CONTROL_MODULES](#openair2\ENB_APP\CONTROL_MODULES)|
|Directory|MESSAGES/V2|[MESSAGES/V2](#openair2\ENB_APP\MESSAGES/V2)|
|Directory|flexran_apps|does not works|
|file openair2|L1_paramdef.h|brief definition of configuration parameters for all eNodeB modules|
|file openair2|MACRLC_paramdef.h|definition of configuration parameters for all eNodeB modules |
|-|NB_IoT_config.c|IoT configuration file|
|-|NB_IoT_config.h|IoT configuration file|
|file openair2|NB_IoT_interface.c|load library implementing coding/decoding algorithms|
|file openair2|NB_IoT_interface.h|api interface for nb-iot application|
|-|NB_IoT_paramdef.h|definition of configuration parameters for all eNodeB modules |
|-|RRC_config_tools.c|RRC configuration tools|
|-|RRC_config_tools.h|-|
|-|RRC_paramsvalues.h|macro definitions for RRC authorized and asn1 parameters values, to be used in paramdef_t/chechedparam_t structure initializations|
|-|enb_app.c|fixing a compilation warning in enb_app|
|-|enb_app.h|cell reconfiguration/restart: take protobuf, perform in ENB_APP|
|-|enb_config.c|enb configuration file|
|-|enb_config.h|minor changes for oairu executabl|
|-|enb_config_SL.c|enb configuration of SL file|
|-|enb_config_eMTC.c|enb configuration eMTC|
|-|enb_paramdef.h|definition of configuration parameters for all eNodeB modules|
|-|enb_paramdef_emtc.h|definition of configuration parameters for all eNodeB modules|
|-|enb_paramdef_mce.h|brief definition of configuration parameters for MCE modules|
|-|enb_paramdef_mme.h|brief definition of configuration parameters for MME modules|
|-|enb_paramdef_sidelink.h|brief definition of configuration parameters for sidelink eNodeB modules|
|-|flexran_agent.c|brief top level flexran agent receive thread and itti task|
|-|flexran_agent.h|brief top level flexran agent|
|-|flexran_agent_app.c|brief CM for handling of applications|
|-|flexran_agent_app.h|brief Common app definitions|
|-|flexran_agent_async.c|brief channel implementation for async interface|
|-|flexran_agent_async.h|brief channel implementation for async interface|
|-|flexran_agent_common.c|brief common primitives for all agents|
|-|flexran_agent_common.h|brief common message primitves and utilities|
|-|flexran_agent_common_internal.c|brief internal functions for common message primitves and utilities|
|-|flexran_agent_common_internal.h|brief internal agent functions for common message primitves and utilities|
|-|flexran_agent_defs.h|brief FlexRAN agent common definitions|
|-|flexran_agent_extern.h|brief FlexRAN agent - Extern VSF xfaces|
|-|flexran_agent_handler.c|brief FlexRAN agent tx and rx message handler|
|-|flexran_agent_net_comm.c|brief FlexRAN agent network interface abstraction|
|-|flexran_agent_net_comm.h|brief FlexRAN agent network interface abstraction|
|-|flexran_agent_ran_api.c|brief FlexRAN RAN API abstraction|
|-|flexran_agent_ran_api.h|brief FlexRAN RAN API abstraction header|
|-|flexran_agent_ran_api_to_fix.c|fix gcc reported issues|
|-|flexran_agent_task_manager.c|brief Implementation of scheduled tasks manager for the FlexRAN agent|
|-|flexran_agent_task_manager.h|brief Implementation of scheduled tasks manager for the FlexRAN agent|
|-|flexran_agent_timer.c|brief FlexRAN Timer|
|-|flexran_agent_timer.h
|brief FlexRAN Timer header|
## openair2\F1AP
|Type|Name|Content|
|---|---|---|
|Directory|MESSAGES/ASN1|See [MESSAGES/ASN1](#openair2\F1AP\MESSAGES/ASN1)|
|File|dummy_enb.c|commit removes all non-standard bools in the whole project|
|-|f1ap_common.c|brief f1ap procedures for both CU and DU|
|-|f1ap_common.h|brief f1ap procedures for both CU and DU|
|-|f1ap_cu_interface_management.c|brief f1ap interface management for CU|
|-|f1ap_cu_interface_management.h|brief f1ap interface management for CU|
|-|f1ap_cu_paging.c|brief f1ap interface management for DU|
|-|f1ap_cu_paging.h|brief f1ap interface management for DU|
|-|f1ap_cu_rrc_message_transfer.c|brief f1ap rrc message transfer for CU|
|-|f1ap_cu_rrc_message_transfer.h|brief f1ap rrc message transfer for CU|
|-|f1ap_cu_system_information.c|brief f1ap interface management for DU|
|-|f1ap_cu_system_information.h|brief f1ap interface management for DU|
|-|f1ap_cu_task.c|brief data structures for F1 interface modules|
|-|f1ap_cu_task.h|brief data structures for F1 interface modules|
|-|f1ap_cu_ue_context_management.c|brief F1AP UE Context Management, CU side|
|-|f1ap_cu_ue_context_management.h|brief header file of CU UE Context management|
|-|f1ap_cu_warning_message_transmission.c|brief f1ap interface management for DU|
|-|f1ap_cu_warning_message_transmission.h|brief f1ap interface management for DU|
|-|f1ap_decoder.c
|brief f1ap pdu decode procedures|
|-|f1ap_decoder.h|brief f1ap pdu decode procedures|
|-|f1ap_default_values.h|brief default values for f1ap procedures|
|-|f1ap_du_interface_management.c|brief f1ap interface management for DU|
|-|f1ap_du_interface_management.h|brief f1ap interface management for DU|
|-|f1ap_du_paging.c|brief f1ap interface management for DU|
|-|f1ap_du_paging.h|brief f1ap interface management for DU|
|-|f1ap_du_rrc_message_transfer.c|brief f1ap rrc message transfer for DU|
|-|f1ap_du_rrc_message_transfer.h|brief f1ap rrc message transfer for DU|
|-|f1ap_du_task.c|brief data structures for F1 interface modules|
|-|f1ap_du_task.h|brief data structures for F1 interface modules|
|-|f1ap_du_ue_context_management.c|brief F1AP UE Context Management, DU side|
|-|f1ap_du_ue_context_management.h|brief f1ap ue context management for DU|
|-|f1ap_du_warning_message_transmission.c|brief f1ap interface management for DU|
|-|f1ap_du_warning_message_transmission.h|brief f1ap interface management for DU|
|-|f1ap_encoder.c|brief f1ap pdu encode procedures|
|-|f1ap_encoder.h|brief f1ap pdu encode procedures|
|-|f1ap_handlers.c|brief f1ap messages handlers|
|-|f1ap_encoder.h|brief f1ap pdu encode procedures|
|-|f1ap_handlers.c|brief f1ap messages handlers|
|-|f1ap_itti_messaging.c|buffer availability of RLC(DU) towards the CU|
|-|f1ap_itti_messaging.h|buffer availability of RLC(DU) towards the CU|
|-|f1ap_messaging.h|brief f1ap procedures|
### openair2\F1AP\MESSAGES/ASN1
|Type|Name|Content|
|---|---|---|
|Folder|R15.1.1|See [R15.1.1](#openair2\F1AP\MESSAGES/ASN1\R15.1.1)|
|Folder|R15.2.1|See [R15.2.1](#openair2\F1AP\MESSAGES/ASN1\R15.2.1)|
|Folder|R15.3.1|See [R15.3.1.1](#openair2\F1AP\MESSAGES/ASN1\R15.3.1)|
|File|asn1tostruct.py|script v%s\n" %|
### openair2\F1AP\MESSAGES/ASN1\R15.1.1
|Type|Name|Content|
|---|---|---|
|Sсript|F1AP-CommonDataTypes.asn|scripts for proper generation of F1 messages|
|-|F1AP-Constants.asn|scripts for proper generation of F1 messages|
|-|F1AP-Containers.asn|-|
|-|F1AP-IEs.asn|-|
|-|F1AP-PDU-Contents.asn|-|
|-|F1AP-PDU-Descriptions.asn|-|
|-|asn1_constants.h|-|
### openair2\F1AP\MESSAGES/ASN1\R15.2.1
|Type|Name|Content|
|---|---|---|
|Sсript|F1AP-CommonDataTypes.asn|scripts for proper|
|-|F1AP-Constants.asn|-|
|-|F1AP-Containers.asn|-|
|-|F1AP-IEs.asn|-|
|-|F1AP-PDU-Contents.asn|PDU definitions for F1AP|
|-|F1AP-PDU-Descriptions.asn|
F1AP-PDU-Descriptions|
### openair2\F1AP\MESSAGES/ASN1\R15.3.1
|Type|Name|Content|
|---|---|---|
|Script|38473-g31.asn|update F1AP to R16.3.1. testing with OTA eNB|
|-|F1AP-CommonDataTypes.asn|-|
|-|F1AP-Constants.asn|-|
|-|F1AP-Containers.asn|-|
|-|F1AP-IEs.asn|-|
|-|F1AP-PDU-Contents.asn|F1AP-PDU-Contents|
|-|F1AP-PDU-Descriptions.asn|update F1AP to R16.3.1. testing with OTA eNB|
### openair2\GNB_APP
|Type|Name|Content|
|---|---|---|
|file openair2|L1_nr_paramdef.h|brief definition of configuration parameters for all eNodeB modules|
|-|MACRLC_nr_paramdef.h|brief definition of configuration parameters for all gNodeB modules |
|-|RRC_nr_paramsvalues.h|brief macro definitions for RRC authorized and asn1 parameters values, to be used in paramdef_t/chechedparam_t structure initializations|
|-|gnb_app.c|-|
|-|gnb_app.h|-|
|-|gnb_config.c|-|
|-|gnb_config.h|-|
|-|gnb_paramdef.h|brief definition of configuration parameters for all gNodeB modules|
### openair2\LAYER2
|Type|Name|Content|
|---|---|---|
|Folder|MAC|See [MAC](#openair2\LAYER2\MAC)|
|Folder|NR_MAC_COMMON|See [NR_MAC_COMMON](#openair2\LAYER2\NR_MAC_COMMON)|
|-|NR_MAC_UE|See [NR_MAC_UE](#openair2\LAYER2\NR_MAC_UE)|
|-|NR_MAC_gNB|See [NR_MAC_gNB](#openair2\LAYER2\NR_MAC_gNB)|
|-|nr_pdcp|See [nr_pdcp](#openair2\LAYER2\nr_pdcp)|
|-|nr_rlc|See [nr_rlc](#openair2\LAYER2\nr_rlc)|
|-|rlc_v2|See [rlc_v2](#openair2\LAYER2\rlc_v2)|
|File|openair2_proc.c|print openair2 overall statistics|
|Folder|RLC|See [RLC](#openair2\LAYER2\RLC)|
### openair2\LAYER2\MAC
|Type|Name|Content|
|---|---|---|
|file|config.c|brief UE and eNB configuration performed by RRC or as a consequence of RRC procedures|
|-|defs_NB_IoT.h|brief MAC layer structures|
|-|eNB_scheduler.c|brief eNB scheduler top level function operates on per subframe basis|
|-|eNB_scheduler_RA.c|brief primitives used for random access|
|-|eNB_scheduler_dlsch.c|brief procedures related to eNB for the DLSCH transport channel|
|-|eNB_scheduler_fairRR.c|brief eNB scheduler fair round robin|
|-|eNB_scheduler_primitives.c|brief primitives used by eNB for BCH, RACH, ULSCH, DLSCH scheduling|
|-|eNB_scheduler_ulsch.c|brief eNB procedures for the ULSCH transport channel|
|-|mac.h|brief MAC data structures, constant, and function prototype|
|-|mac_extern.h|brief mac externs|
|-|mac_proto.h|brief MAC functions prototypes for eNB and UE|
|-|main.c|brief top init of Layer 2|
|-|pre_processor.c|brief eNB scheduler preprocessing fuction prior to scheduling|
|-|ue_procedures.c|brief primitives to build the asn1 messages / primitives to build FeMBMS asn1 messages|
### openair2\LAYER2\PDCP_v10.1.0
|Type|Name|Content|
|---|---|---|
|File|pdcp.c|brief pdcp interface with RLC|
|-|pdcp.h|brief pdcp interface with RLC, RRC|
|-|pdcp_primitives.c|brief PDCP PDU buffer dissector code|
|-|pdcp_primitives.h|brief pdcp primitives|
|-|pdcp_sequence_manager.c|brief PDCP Sequence Numbering Methods|
|-|pdcp_sequence_manager.h|brief PDCP Sequence Numbering Methods|
|-|pdcp_util.c|brief PDCP Util Methods|
|-|pdcp_util.h|brief PDCP Util Methods|
### openair2\LAYER2\RLC
|Type|Name|Content|
|---|---|---|
|Folder|AM_v9.3.0|[AM_v9.3.0](#openair2\LAYER2\RLC\AM_v9.3.0)|
|-|TM_v9.3.0|[TM_v9.3.0](#openair2\LAYER2\RLC\TM_v9.3.0)|
|-|UM_v9.3.0|[UM_v9.3.0](#openair2\LAYER2\RLC\UM_v9.3.0)|
|File|rlc.c|brief This file, and only this file must be included by external code that interact with RLC layer.|
|-|rlc.h|brief This file, and only this file must be included by external code that interact with RLC layer.|
|-|rlc_mac.c|brief This file, and only this file must be included by external code that interact with MAC layer.|
|-|rlc_rrc.c|brief This file, and only this file must be included by external code that interact with RLC&RRC layers.|
### openair2\LAYER2\RLC\AM_v9.3.0
|Type|Name|Content|
|---|---|---|
|File|rlc_am.c|brief This file defines the RLC AM variables stored in a struct called rlc_am_entity_t|
|-|rlc_am_entity.h
|brief This file defines the RLC AM variables stored in a struct called rlc_am_entity_t|
|-|rlc_am_init.c|-|
|-|rlc_am_reassembly.c|brief This file defines the prototypes of the functions dealing with the reassembly of segments|
|-|rlc_am_reassembly.h|brief This file defines the prototypes of the functions dealing with the reassembly of segments|
|-|rlc_am_receiver.c|brief This file defines the prototypes of the functions dealing with the retransmission|
|-|rlc_am_retransmit.c|brief This file defines the prototypes of the functions dealing with the retransmission|
|-|rlc_am_retransmit.h|brief This file defines the prototypes of the functions dealing with the retransmission|
|-|rlc_am_rx_list.c|brief This file defines the prototypes of the functions dealing with a RX list data structure supporting re-segmentation|
|-|rlc_am_rx_list.h|brief This file defines the prototypes of the functions dealing with a RX list data structure supporting re-segmentation|
|-|rlc_am_segment.c|This file defines the prototypes of the functions dealing with the segmentation of PDCP SDUs|
|-|rlc_am_segment.h|This file defines the prototypes of the functions dealing with the segmentation of PDCP SDUs|
|-|rlc_am_status_report.c|-|
|-|rlc_am_test.c|-|
|-|rlc_am_timer_poll_retransmit.c|-|
### openair2\LAYER2\RLC\TM_v9.3.0
|Type|Name|Content|
|---|---|---|
|File|rlc_tm.c|only this file must be included by code that interact with RLC TM layer|
|-|rlc_tm.h|only this file must be included by code that interact with RLC TM layer|
|-|rlc_tm_entity.h|This file defines the RLC TM variables stored in a struct called rlc_tm_entity_t|
|-|rlc_tm_init.c|This file defines the prototypes of the functions dealing with the control primitives and initialization|
|-|rlc_tm_init.h|This file defines the prototypes of the functions dealing with the control primitives and initialization|
### openair2\LAYER2\RLC\UM_v9.3.0
|Type|Name|Content|
|---|---|---|
|File|rlc_um_control_primitives.c|This file defines the RLC UM variables stored in a struct called rlc_um_entity_t|
|-|rlc_um_entity.h|This file defines the RLC UM variables stored in a struct called rlc_um_entity_t|
### openair2\NR_PHY_INTERFACE
|Type|Name|Content|
|---|---|---|
|file openair2|NR_IF_Module.c|data structures for PHY/MAC interface modules|
|-|NR_IF_Module.h|brief data structures for PHY/MAC interface modules|
### openair2\LAYER2\NR_MAC_COMMON
|Type|Name|Content|
|---|---|---|
|File|nr_compute_tbs_common.c|Compute NR TBS|
|-|nr_mac.h|common MAC data structures and constants|
|-|nr_mac_common.c|Common MAC/PHY functions for NR UE and gNB|
|-|nr_mac_common.h|common MAC function prototypes|
|-|nr_mac_extern.h|NR mac externs|
### openair2\LAYER2\NR_MAC_UE
|Type|Name|Content|
|---|---|---|
|File|config_ue.c|UE and eNB configuration performed by RRC or as a consequence of RRC procedures|
|-|mac_defs.h|MAC data structures and constants|
|-|mac_extern.h|extern variables for MAC layer|
|-|mac_proto.h|MAC functions prototypes for gNB and UE|
|-|mac_vars.c|MAC Layer variables|
|-|main_ue_nr.c|top init of Layer 2|
|-|nr_l1_helpers.c|PHY/MAC helper functions|
|-|nr_l1_helpers.h|Function to compute configured maximum output power according to clause 6.2.4 of 3GPP TS 38.101-1 version 16.5.0 Release 16 Mod_id Module id of UE|
|-|nr_ra_procedures.c|Routines for UE MAC-layer Random Access procedures (TS 38.321, Release 15)|
|-|nr_ue_dci_configuration.c|functions for generating dci search procedures based on RRC Serving Cell Group Configuration|
|-|nr_ue_procedures.c|procedures related to UE|
|-|nr_ue_scheduler.c
|Routines for UE scheduling|
### openair2\LAYER2\NR_MAC_gNB
|Type|Name|Content|
|---|---|---|
|File|config.c|gNB configuration performed by RRC or as a consequence of RRC procedures|
|-|gNB_scheduler.c|gNB scheduler top level function operates on per subframe basis|
|-|gNB_scheduler_RA.c|primitives used for random access|
|-|gNB_scheduler_bch.c|procedures related to eNB for the BCH transport channel|
|-|gNB_scheduler_dlsch.c|procedures related to gNB for the DLSCH transport channel|
|-|gNB_scheduler_phytest.c|gNB scheduling procedures in phy_test mode|
|-|gNB_scheduler_primitives.c|primitives used by gNB for BCH, RACH, ULSCH, DLSCH scheduling|
|-|gNB_scheduler_srs.c|MAC procedures related to SRS|
|-|gNB_scheduler_uci.c|MAC procedures related to UCI|
|-|gNB_scheduler_ulsch.c|gNB procedures for the ULSCH transport channel|
|-|mac_proto.h|MAC functions prototypes for gNB|
|-|main.c|top init of Layer 2|
|-|nr_mac_gNB.h|MAC data structures, constant, and function prototype|
### openair2\LAYER2\nr_pdcp
|Type|Name|Content|
|---|---|---|
|File|asn1_utils.c|pdcp configurator|
|-|asn1_utils.h|pdcp configurator|
|-|nr_pdcp.h|SDAP Initial Implementation|
|-|nr_pdcp_entity.c|SDAP Initial Implementation|
|-|nr_pdcp_entity.h|SDAP Initial Implementation|
|-|nr_pdcp_integrity_nia1.c|nr_pdcp: nia1 implementation|
|-|nr_pdcp_integrity_nia1.h|nr_pdcp: nia1 implementation|
|-|nr_pdcp_integrity_nia2.c|nr pdcp: bugfix: reset integrity context|
|-|nr_pdcp_integrity_nia2.h|nr pdcp: first draft of NIA2 integrity|
|-|nr_pdcp_oai_api.c|nr pdcp: improvements|
|-|nr_pdcp_sdu.c|nr pdcp: improvements|
|-|nr_pdcp_sdu.h|nr pdcp: improvements|
|-|nr_pdcp_security_nea2.c|nr pdcp: bugfix: better nettle version detection|
|-|nr_pdcp_security_nea2.h|NSA: first draft of nea2 security for gNB|
|-|nr_pdcp_timer_thread.c|nr pdcp: improvements|
|-|nr_pdcp_timer_thread.h|nr pdcp: improvements|
|-|nr_pdcp_ue_manager.c|SDAP Initial Implementation|
|-|nr_pdcp_ue_manager.h|SDAP Initial Implementation|
### openair2\LAYER2\nr_rlc
|Type|Name|Content|
|---|---|---|
|Folder|tests|results of tests|
|File|asn1_utils.h|buffer availability of RLC(DU) towards the CU|
|-|asn1_utils.h|-|
|-|nr_rlc_entity_am.c|Merge remote-tracking branch 'origin/develop' into F1_interop_ACC_n78 |
|-|nr_rlc_entity_am.h|-|
|-|nr_rlc_entity_tm.c|buffer availability of RLC(DU) towards the CU
|
|-|nr_rlc_entity_tm.h|-|
|-|nr_rlc_entity_um.c|-|
|-|nr_rlc_entity_um.h|-|
|-|nr_rlc_oai_api.c|Header file for nr_rlc_oai_api|
|-|nr_rlc_oai_api.h|Header file for nr_rlc_oai_api|
|-|nr_rlc_pdu.c|RX PDU management;PDU encoder;PDU decoder|
|-|nr_rlc_pdu.h|RX PDU management;PDU encoder;PDU decoder|
|-|nr_rlc_sdu.c|RX SDU management;SDU encoder;SDU decoder|
|-|nr_rlc_sdu.h|-|
|-|nr_rlc_ue_manager.c|ue functions;manager functions|
|-|nr_rlc_ue_manager.h|-|
### openair2\LAYER2\rlc_v2
|Type|Name|Content|
|---|---|---|
|Folder|tests|rlc v2: implement SOstart/SOend in NACK reporting|
|File|asn1_utils.c|alternative RLC implementation|
|-|asn1_utils.h|-|
|-|rlc_entity.c|-|
|-|rlc_entity.H|-|
|-|rlc_entity_am.c|-|
|-|rlc_entity_am.h|-|
|-|rlc_entity_um.c|PDU management;PDU encoder;PDU decoder|
|-|rlc_entity_um.h|-|
|-|rlc_oai_api.c|alternative RLC implementation|
|-|rlc_pdu.c|-|
|-|rlc_pdu.h|-|
|-|rlc_sdu.c|-|
|-|rlc_sdu.h|-|
|-|rlc_ue_manager.c|-|
|-|rlc_ue_manager.h|-|