Files
openairinterface5g/openair2/RRC/LTE/MESSAGES
Robert Schmidt 465d7de5a9 Remove --usim-test command line option
Remove the --usim-test option: to my knowledge, it's not used by users,
and is misleadingly placed in various places where there should not be a
difference w.r.t. USIM configuration.

When making the changes, I assumed that --usim-test would be 0 (the
default), which is the case in all executables when not specified in
options except for the nr_dlsim, nr_pbchsmi, nr_ulsim simulators.

The only exception is the initialization of PDCP from the MAC, which is
not correct (the PDCP is in the CU, so it does not make sense to call it
from the MAC which is in the DU). Instead, always initialize from main,
even in the NSA case (NSA was covered by the incorrect initialization
from MAC).

This in turn let to some more cleanup around function du_rlc_data_req().
After receiving GTP packets at the DU, they were given to the PDCP to
enqueue the packet at RLC. This does not work anymore, since the PDCP is
not initialized; it also does not seem necessary, as this enqueue
functionality is necessary to decouple PDCP and RLC to avoid deadlocks
in monolithic, but in split-mode, this cannot happen. Instead, call
directly into the RLC when receiving GTP packets.
2025-07-23 12:12:59 +02:00
..
2023-11-24 12:32:48 +01:00
2023-06-01 18:26:00 +02:00

This directory contains the necessary schema files to generate all the LTE configuration data structures based on the ASN.1 RRC source code from the 36.331 RRC specifications. These structures are used by MAC and PHY for configuration purposes.

It contains the following files

README.txt                      : This file
ASN.1                           : Directory to place asn1c package
ASN.1/extract_asn1_from_spec.pl : Pearl script to extract ASN.1 source from 36311-860.txt
ASN.1/*.asn1                    : Extracted ASN.1 sources
ASN.1/*.cmake                   : Definitions of which files the corresponding *.asn1 will generate
CMakeLists.txt                  : The "driver" to generate and build generated source files at build time

Instructions to build data structures from ASN1 sources

The asn.1 files have already been built using the extract_asn1_from_spec.pl Pearl script. This should be used again if a newer version of the RRC spec is used to synthesize the data structures and encoding/decoding routines. To do this:

  1. use Microsoft WORD to generate a text version of the 3GPP 36.331 document
  2. run the script on the text file to generate the *.asn1 file

You should install the asn1c utility using ./build_oai -I.

Run

ASN1C_PREFIX=LTE_ asn1c -pdu=all -fcompound-names -gen-UPER -no-gen-BER -no-gen-JER -no-gen-OER -no-gen-APER -no-gen-example -D <dir> <asn.1-file>

to generate the files that result from the asn.1-file. Create an ASN.1/*.cmake file with the following structure:

set(LTE_RRC_GRAMMAR <path-to-asn.1-file>)

set(lte_rrc_source
    <list-of-c-files>
)

set(lte_rrc_headers
    <list-of-h-files>
)

Modify the CMakeLists.txt to point to the newly generated .cmake file. On the next LTE RRC compilation, the source files will be automatically generated from the ASN.1 file and built henceforth.