Files
openairinterface5g/doc
Robert Schmidt 35a450bd43 Merge remote-tracking branch 'origin/sdap-qos-improvements' into integration_2025_w43 (!3519)
Refactor SDAP adaptation work for QoS

This MR is an adaptation of the code introduced in !2703.

The goal is a cleanup and functional refactor of the SDAP/PDCP
integration, that is:

- centralize SDAP configuration logic
- simplify entity creation
- improve robustness of role-based SDAP handling
- prepare the codebase for clean support of DRB reconfiguration and
  teardown flows

More concretely:

1. New sdap_config_t and get_sdap_Config()

  - Introduced an internal struct sdap_config_t to abstract SDAP config
    input
  - Centralized SDAP config parsing into new get_sdap_Config() function
    that translates ASN.1 NR_SDAP_Config into this internal
    representation. This is called during RRC triggered
    (re)configuration procedures.
  - Enable mapping of number of QoS flows > 1

2. Unified role handling with bitmasks

  - Added a bitmask-based entity_role field to track SDAP directions:
    SDAP_UL_RX, SDAP_UL_TX, SDAP_DL_RX, SDAP_DL_TX: header presence was
    determined by simple direction (UE vs gNB) and individual
    is_sdap_rx/tx() checks, however nr_sdap_rx_entity behaves
    differently depending on the direction of the RX entity (DL/UL),
    therefore this change can help enable a more accurate SDAP header
    handling across directions and node types.
  - Replaces old helpers is_sdap_rx() / is_sdap_tx() with internal
    checks against the role bitfield
  - QFI-to-DRB mapping is now annotated with direction for both data and
    control PDUs

3. Simplified DRB and SDAP setup

  - add_drb() in PDCP API now delegates SDAP config processing cleanly
  - new_nr_sdap_entity() is used consistently to register a fresh SDAP
    context for the UE and PDU session.
    - Also, re-use and reconfigure existing SDAP entity if already
      exists.
  - logging has been added to trace mapped QFIs from RRC and resulting
    table entries

4. Improved QFI-to-DRB management

  - Refactored nr_sdap_qfi2drb_map_update() to register QFIs based on
    parsed config
  - Ensures control PDUs are correctly routed even after reconfiguration
  - Extended nr_sdap_ue_qfi2drb_config: perform UL QoS flow to DRB
    mapping configuration for a SDAP entity has already been established
    according to TS 37.324, 5.3 QoS flow to DRB Mapping, 5.3.1
    Configuration Procedures. Handle both UL QoS Flows mapping rules to
    add and to remove. QFIs will now be properly unmapped if specified
    via mappedQoS_FlowsToRelease, this might prevent stale QFI mappings
    from being used incorrectly.
  - nr_sdap_qfi2drb() and sdap_map_ctrl_pdu() now strictly fallback to
    default_drb only if a QFI mapping is missing. Missing default DRB
    now triggers LOG_E() (previously silent or misrouted to DRB 0).

5. Other cleanup

  - Remove dependencies from legacy rb_id_t
2025-10-24 14:31:00 +02:00
..
2025-10-01 16:22:46 +02:00
2021-10-27 22:36:33 +00:00
2025-10-01 16:22:46 +02:00
2025-04-14 11:39:08 +02:00
2025-08-05 18:38:16 +02:00
2025-08-11 17:11:21 +02:00
2025-10-08 18:21:10 +02:00
2025-10-13 11:08:51 +02:00
2025-10-08 17:39:29 +02:00
2025-10-01 16:22:46 +02:00

OpenAirInterface documentation overview

This is the general overview page of the OpenAirInterface documentation.
This page groups links to general information, tutorials, design documents, radio integration, and special-purpose libraries.

IMPORTANT NOTE:
Before reading this documentation, we strongly advise you to keep your own repository rebased on develop or at least to checkout the documentation on the version of the repository you are using.
Then the documentation will better reflect the features available in your repository so that you may avoid some errors.
Beware if you previously pulled the develop branch that your repository may be now behind develop.

[[TOC]]

General

There is some general information in the OpenAirInterface Gitlab Wiki

Tutorials

Legacy unmaintained files:

Designs

Building and running from images

Libraries

General

Radios

Some directories under radio contain READMEs:

The other SDRs (AW2S, LimeSDR, ...) have no READMEs.

Special-purpose libraries

  • OAI has two scopes: one based on Xforms and one based on imgui, described in this README
  • OAI comes with an integrated telnet server to monitor and control
  • OAI comes with an integrated web server

Testing

  • UnitTests.md explains the unit testing setup
  • Component tests are under tests/. Currently, there is a simple CU-UP tester, see the corresponding README.md.
  • TESTBenches.md lists the CI setup and links to pipelines
  • The CI setup uses a custom framework to run end-to-end tests.

Developer tools

  • formatting is a clang-format error detection tool
  • iwyu is a tool to detect #include errors
  • docker-dev-env is a ubuntu24 docker development environment