# Study plan for 10.08.2022: Make a table of sub folder + source code names related to OAI DU with short explanation of what the source code does. Webinar OAI. :::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|handle protobuf message| |-|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|ITTI LOG messages+ encoder| |-|mac_messages_def.h|Messages between RRC and MAC layers| |-|mac_messages_types.h|Messages between RRC and MAC layers| |-|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)| |-|PDCP_v10.1.0|See [PDCP_v10.1.0](#openair2\LAYER2\PDCP_v10.1.0)| |-|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|