Skip to content

Latest commit

 

History

History
106 lines (95 loc) · 5.67 KB

README.md

File metadata and controls

106 lines (95 loc) · 5.67 KB

OAI

License Supported OS Supported OS

Docker Pulls Docker Pulls Docker Pulls Docker Pulls

OpenAirInterface License

Included Fixes:

  • Ease of use of gprof and address sanitizer for debugging purposes
  • Updated json files to allow for GDB, real-time debugging capabilities
  • Updated logging features to minimally log only key connection milestones. This imroves scalability of multiple UEs.
  • Updated logging to include time stamp for timing analysis
  • Updated memory allocation procedures to correct size requirements
  • Added debugging features to handle signal terminations
  • nfapi.c pullarray8 fix invalid pointer math
  • Overlapping destination and source memory in memcpy, so updated to memmove to check for this bug
  • Advanced error checking mechanisms in critical pack and unpack functions
  • Created option for CPU assignment to UE to improve scalability
  • Added EPC integration to allow multiple individual UE entities to each have their USIM information parced by the executables
  • Updated random value seeds to minimize probability of error in generation of random values
  • Enables capability round robin scheduler if desired
  • Enables capability real time scheduler if desired
  • Added new standalone functions to the UE phy-layer (phy_stub_ue.c) to incorporate individual UE entities
  • Updated sending and packing functions in UE (lte_ue.c) to incorporate new standalone changes
  • Incorporated semaphores to control timing of incoming downlink packets
  • Implemented new queuing system to handle message exchange from UE to eNB and vice versa
  • Updated global value in nFAPI for size of subframe
  • Updated global value to increase scalability in system

Where to Start

RAN repository structure

The OpenAirInterface (OAI) software is composed of the following parts:

openairinterface5g
├── ci-scripts        : Meta-scripts used by the OSA CI process. Contains also configuration files used day-to-day by CI.
├── cmake_targets     : Build utilities to compile (simulation, emulation and real-time platforms), and generated build files.
├── common            : Some common OAI utilities, other tools can be found at openair2/UTILS.
├── doc               : Contains an up-to-date feature set list and starting tutorials.
├── executables       : Top-level executable source files.
├── LICENSE           : License file.
├── maketags          : Script to generate emacs tags.
├── nfapi             : Contains the NFAPI code. A local Readme file provides more details.
├── openair1          : 3GPP LTE Rel-10/12 PHY layer / 3GPP NR Rel-15 layer. A local Readme file provides more details.
│   ├── PHY
│   ├── SCHED
│   ├── SCHED_NBIOT
│   ├── SCHED_NR
│   ├── SCHED_NR_UE
│   ├── SCHED_UE
│   └── SIMULATION    : PHY RF simulation.
├── 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.
│   ├── COMMON
│   ├── DOCS
│   ├── ENB_APP
│   ├── F1AP
│   ├── GNB_APP
│   ├── LAYER2/RLC/   : with the following subdirectories: UM_v9.3.0, TM_v9.3.0, and AM_v9.3.0.
│   ├── LAYER2/PDCP/PDCP_v10.1.0
│   ├── M2AP
│   ├── MCE_APP
│   ├── NETWORK_DRIVER
│   ├── NR_PHY_INTERFACE
│   ├── NR_UE_PHY_INTERFACE
│   ├── PHY_INTERFACE
│   ├── RRC
│   ├── UTIL
│   └── X2AP
├── openair3          : 3GPP LTE Rel10 for S1AP, NAS GTPV1-U for both ENB and UE.
│   ├── COMMON
│   ├── DOCS
│   ├── GTPV1-U
│   ├── M3AP
│   ├── MME_APP
│   ├── NAS
│   ├── S1AP
│   ├── SCTP
│   ├── SECU
│   ├── TEST
│   ├── UDP
│   └── UTILS
└── targets           : Top-level wrappers for unitary simulation for PHY channels, system-level emulation (eNB-UE with and without S1), and realtime eNB and UE and RRH GW.