24c61fe1f9fc6055b4f42f30f035020f6dc84cda
Before this commit, we did not read the ServingCellConfigCommon (SCC) completely at start; rather, we read most (but not all) of it, then also the minRXTXTIME, and at RRC initialization in openair_rrc_gNB_configuration(), we filled the pusch-TimeDomainAllocationList into the SCC, depending on the minRXTXTIME. The reason might be that we read part of the SCC, use that to fill the NRRRC_CONFIGURATION_REQ, read also the minRXTXTIME (part of the RRC config), and then we have all we need to "finalize the SCC". Since we move everything to the MAC, I avoid too much upfront code changes, hardcode the minRXTXTIME (and check with an assert), and undo this in a later commit when the "RRC config" relevant for radio parameters, e.g., minRXTXTIME, is moved to MAC. I verified the equality of the SCC before (at the end openair_rrc_gNB_configuration()) and after (at the end of get_scc_config()) this commit manually using a printf, assuming that after RRC initialization, we didn't do any further modifications to the SCC. But in fact, I cannot know that we don't do it...
OpenAirInterface License
It is distributed under OAI Public License V1.1.
The license information is distributed under LICENSE file in the same directory.
Please see NOTICE file for third party software that is included in the sources.
Where to Start
Not all information is available in a central place, and information for specific sub-systems might be available in the corresponding sub-directories. To find all READMEs, this command might be handy:
find . -iname "readme*"
RAN repository structure
The OpenAirInterface (OAI) software is composed of the following parts:
openairinterface5g
├── charts
├── ci-scripts : Meta-scripts used by the OSA CI process. Contains also configuration files used day-to-day by CI.
├── CMakeLists.txt : Top-level CMakeLists.txt for building
├── cmake_targets : Build utilities to compile (simulation, emulation and real-time platforms), and generated build files.
├── common : Some common OAI utilities, some other tools can be found at openair2/UTILS.
├── doc : Documentation
├── docker : Dockerfiles to build for Ubuntu and RHEL
├── executables : Top-level executable source files (gNB, eNB, ...)
├── maketags : Script to generate emacs tags.
├── nfapi : (n)FAPI code for MAC-PHY interface
├── openair1 : 3GPP LTE Rel-10/12 PHY layer / 3GPP NR Rel-15 layer. A local Readme file provides more details.
├── openair2 : 3GPP LTE Rel-10 RLC/MAC/PDCP/RRC/X2AP + LTE Rel-14 M2AP implementation. Also 3GPP NR Rel-15 RLC/MAC/PDCP/RRC/X2AP.
├── openair3 : 3GPP LTE Rel10 for S1AP, NAS GTPV1-U for both ENB and UE.
├── openshift : OpenShift helm charts for some deployment options of OAI
├── radio : Drivers for various radios such as USRP, AW2S, RFsim, ...
└── targets : Some configuration files; only historical relevance, and might be deleted in the future
Languages
C
91.8%
CMake
2.9%
C++
1.9%
TeX
1%
Python
1%
Other
1.1%
