Commit Graph

125 Commits

Author SHA1 Message Date
Andrea Lacava
447ff67aba build: add opt-in E3_AGENT build option for the O-RAN E3 agent
Introduce the E3_AGENT CMake option (default OFF) and the matching
--build-e3 flag in build_oai so the E3 agent for O-RAN dApps can be
compiled opt-in. Gate the E3AP subdirectory and the nr-softmodem
linkage behind the option, and register an E3AP log component
together with its legacy T-tracer message IDs.

The E3 interface (nGRG) lets the gNB exchange real-time reports and
controls with external dApps. Keeping it behind a build flag leaves
the default CI build unchanged and avoids pulling in the external
libe3 dependency unless the agent is explicitly requested.

Signed-off-by: Andrea Lacava <thecave003@gmail.com>
2026-07-02 09:51:58 -04:00
Robert Schmidt
8107939f08 Change OAI license to CSSL v1.0 (and others)
- all RAN code, CI code, configuration files, dockerfiles, in CSSL v1.0
- all deployment code (openshift, charts, ancillary files like shell
  scripts), in MIT
- documentation in CC-BY-4.0
- exceptions might apply and are listed in NOTICE
- there is a new LICENSES folder with all licenses
- CONTRIBUTIONS.md has been updated accordingly

For automated changes based on OAI PL v1.1:

    perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.{c,h,cpp}
    perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.ts
    perl -i~ -0pe 's/<!--.*Licensed to the OpenAirInterface.*openairinterface.org\n.*-->/<!-- SPDX-License-Identifier: LicenseRef-CSSL-1.0 -->/s' **/*.xml

The rest (cmake, files with missing license, cmake) manually.
2026-03-27 16:36:37 +01:00
Robert Schmidt
6ae4ec37ca Remove most doxygen file-level commands, copyrights, and authors
Remove the \file directive, as it is always superfluous  because the
current file is implicit [1]:

> If the file name is omitted (i.e. the line after \file is left blank)
> then the documentation block that contains the \file command will belong
> to the file it is located in.

Author names and e-mails are not relevant for us: it can always be
inferred from git blame, and is often outdated.

Eurecom code has been contributed and was under OAI PL v1.0/v1.1.

For the cpack package contact: put generic email address that is
independent of an individual and that will remain reachable.

[1] https://www.doxygen.nl/manual/commands.html#cmdfile
2026-03-27 14:52:47 +01:00
Rakesh BB
5d9f7b41c1 XNAP: add logging support and update ASN.1 runtime sources
- Add XNAP component to the logging framework in log.h
  - Introduce LEGACY_XNAP log message definitions (INFO, ERROR, WARNING, DEBUG, TRACE)
    in T_messages.txt for tracing and debugging XNAP procedures
  - Update xnap_R16.2.0.cmake formatting for consistency
  - Add missing ASN.1 runtime sources required by XNAP (e.g. asn_codecs_prim_xer.c,
    BIT_STRING_print.c, BIT_STRING_rfill.c, etc.)
2026-03-10 10:23:33 +00:00
Rakesh Mundlamuri
446a905013 Add TRP Information Request NRPPA message decoding procedures 2026-03-02 21:36:02 +05:30
Laurent THOMAS
5b0d34c3ad semi-manual remove of not used #define commands. I let the unused defintions that come from standard bodies 2026-01-27 13:23:10 +01:00
Robert Schmidt
ea1aa382c3 Update log header format to improve visual alignment
The new format left-aligns the component name and enforces a minimum width
of 7 (log component) characters, padding shorter names with spaces after
the closing "]".

Example output:

    [14:05:43.395376] [E1AP]   I releasing UE 1
    [14:05:43.395400] [GTPU]   I [91] UE ID 1: Delete all tunnels (1 tunnels)
    [14:05:43.395414] [NR_RRC] A [DL] (cellID bc614e, UE ID 1 RNTI 8e27) Send RRC Release
    [14:05:43.395431] [RRC]    I UE 1: received bearer release complete
    [14:05:43.424551] [RLC]    W Remove UE 36391
    [14:05:43.424597] [NR_RRC] I removed UE CU UE ID 1/RNTI 8e27
    [14:05:43.424773] [NR_RRC] A [--] (cellID bc614e, UE ID 1 RNTI 8e27) Remove UE context
    [14:05:43.425205] [NR_MAC] I Remove NR rnti 0x8e27
    [14:05:43.582158] [HW]     W Lost socket
    ^C
    ** Caught SIGTERM, shutting down
    Returned from ITTI signal handler
    [14:05:43.948721] [GNB_APP] I stopping nr-softmodem
    [14:05:43.948746] [PHY]    I Killing gNB 0 processing threads
    [14:05:44.574818] [PHY]    I Stopping RU 0 processing threads
    [14:05:44.575000] [PHY]    I RU 0 RF device stopped
    [14:05:44.575006] [GNB_APP] I turned off RU rfdevice
2025-11-14 17:05:49 +01:00
Robert Schmidt
7f57019128 log: Only print one space if no level selected
Prior to this change, when no "level" option is given to the logging
module, we see

    [PHY]   RU 0 RF started cpu_meas_enabled 0
    [HW]   No connected device, generating void samples...

with three spaces, which is too much. This change reduces the amount of
spaces to 1 without log level.

Co-authored-by: Robert Schmidt <robert.schmidt@openairinterface.org>
2025-11-14 16:01:07 +01:00
Laurent THOMAS
4f39ba8f51 create a trace group for nr rach 2025-10-30 11:54:41 +01:00
Laurent THOMAS
7d90d9b23e log: make input parameters const 2025-10-30 11:54:11 +01:00
Robert Schmidt
197705f232 Provide T headers via log.h
It seems that many compilation units include T.h through the config
module (as evidenced when taking out T.h from
config_load_configmodule.h). This is strange, because T.h is only used
in the logging headers. Hence, move it to there, where it is used.
2025-09-29 09:04:02 +02:00
Robert Schmidt
321b1c4ce1 Increase maximum logging line length for in-memory log
- Increase the maximum logging line for print done through
  log_output_memory().
  The reason is that we hit this line length when printing some machine
  generated configuration (XML) through the M-plane.  Increase to make
  more of it visible.
- To limit the impact, only increase this locally in function
  log_output_memory(), and statically assert that it will never be
  larger than 64 kB.
  In other places, we use the old limit.
- Move the definition MAX_LOG_TOTAL to log.c, because it's only used
  there.
2025-03-31 12:16:18 +02:00
Laurent THOMAS
536b5d8760 Clean up logging module debug flags
cleanup debug/dump flags by avoiding repetitions in the source code and
enable compiler checks. Add a help text if we set a wrong debug trace
option.
2025-01-23 14:12:29 +01:00
Laurent THOMAS
6384517c01 Better code for PUCCH2 decoding 2025-01-14 11:34:22 +01:00
Laurent THOMAS
9aaa7f100a Inversion in flags name 2024-06-19 13:49:00 +02:00
Anurag Asokan
582e8302c6 LTTng logger (CTF)
This commit introduces LTTng logging mechanism which is an open source
tracing tool.

URL: https://lttng.org/
2024-06-06 07:23:17 +02:00
Laurent THOMAS
24d30ae78a log module improvement: remove redundant declarations y using C macro, remove unused variables, remove unused log components, move information to smaller visibility 2024-03-06 09:03:20 +01:00
Laurent THOMAS
bc6d1ad48d reduce the hot memory for LOG_x decision from 1.2MB to less than one mem page (4KB) 2024-03-06 08:52:34 +01:00
Laurent THOMAS
d1002cc729 move declarations out from log.h to a better place 2024-03-06 08:51:24 +01:00
Laurent THOMAS
2129ee3c9c remove global visibility of log variables, remove circular .h dependancy 2024-03-06 08:51:24 +01:00
Robert Schmidt
331fb1ce8e Merge remote-tracking branch 'origin/better-dci-decoding' into integration_2024_w09 2024-03-05 08:58:52 +01:00
Laurent THOMAS
d26f0b9196 add LOG_DDUMP() to dump a buffer in the regular tracing filter system (like PHY, MAC, ...), use it and do simple cleaning (better format) 2024-03-04 10:07:07 +01:00
Laurent THOMAS
56c4a6ec07 change trace to new NR_MAC_DCI and NR_PHY_DCI for DCI processing 2024-03-01 12:20:32 +01:00
Laurent THOMAS
8666b084d5 improve code of dci decoding and add tracing for all dci fields 2024-02-28 10:17:11 +01:00
Laurent THOMAS
bba9aac079 fix most of doxygen warnings and errors 2023-10-26 16:47:19 +02:00
Alireza Mohammadi
5f5b8f2914 Fix for ASN1 logging: change name from ASN to ASN1
There is a conflict with some E2AP definitions that put ASN as a
preprocessor definition. To avoid this conflict, and since ASN1 is more
descriptive than ASN, we change the logging mechanism name from ASN to
ASN1.
2023-07-28 12:21:22 +02:00
Robert Schmidt
c853f74167 Include T.h in log.h only when T_TRACER=ON 2023-07-13 10:29:33 +02:00
laurent
b339460666 cleanup only 2023-04-28 16:25:24 +02:00
Robert Schmidt
36f374be2a Merge remote-tracking branch 'origin/remove-unused-stuff' into integration_2022_wk11 2023-03-14 17:46:45 +01:00
Robert Schmidt
ce96cb193b Merge remote-tracking branch 'origin/bugfix-t-tracer' into integration_2022_wk11 2023-03-13 19:25:09 +01:00
Robert Schmidt
6791974004 Remove unused OCG (OpenAir Config Generator) 2023-03-11 15:50:50 +01:00
Cedric Roux
39c42bca41 bugfix: bad usage of T() in the log module
The LOG_x() and T() logic was wrong.

LOG_x() goes to the terminal when T_stdout == 1 or T_stdout == 2.
It goes to T() when T_stdout == 0 or T_stdout == 2.

The call T() does the check for T_stdout == 0 or T_stdout == 2.
So we have to call it out of the check "if (T_stdout)".

So, well, let's fix that.

Some spacing was fixed as well. clang-format may complain.
2023-03-10 12:10:08 +01:00
Robert Schmidt
ff4c48f952 Align all configuration structs, and guard them to not be formatted with clang-format 2023-03-09 19:01:47 +01:00
francescomani
2385bc364a fixing most warning when compiling nr-softmodem 2023-03-09 19:01:46 +01:00
Robert Schmidt
287c182925 Remove FlexRAN
- Remove any FlexRAN code
- Cleanup config files
- Remove LFDS7, libyaml dependencies
2022-11-30 14:30:18 +01:00
Vijay Chadachan
29bf98cfe2 Add wall_clock option to the log subsystem to get absolute time stamps 2022-10-18 08:21:59 +02:00
Robert Schmidt
0d34d79f72 Merge remote-tracking branch 'origin/fix-log-output-len' into integration_2022_wk38 2022-09-22 18:58:26 +02:00
Robert Schmidt
fb69173857 Add E1AP lib 2022-09-19 17:29:42 +02:00
Robert Schmidt
40d8235500 Increase log buffer: handle large log messages 2022-09-19 11:39:09 +02:00
laurent
4c74cc6686 Improve nr_ul_channel_estimation() 2022-09-01 16:35:57 +02:00
laurent
65b399fcd7 fix bugs in config module and config usage
fix bug from this MR

fix bug from this MR

stupid-mistake
2022-08-16 09:22:15 +02:00
athanassopoulos
a826af5839 SDAP Initial Implementation 2022-04-01 13:35:40 +02:00
Robert Schmidt
9714877ee0 Merge remote-tracking branch 'origin/remove-NR_UE_PBCH' into integration_2022_wk10 2022-03-07 23:12:49 +01:00
Robert Schmidt
cadbf67f67 Merge remote-tracking branch 'origin/tx-thread-stats-fix' into integration_2022_wk09_b 2022-03-05 13:34:15 +01:00
Laurent Thomas
4c62aef755 rebase on develop 2022-03-02 11:26:16 +01:00
Robert Schmidt
b742717fb8 Remove timing functions from logging module 2022-02-25 17:22:01 +01:00
Robert Schmidt
20e13db86b Implement logTerm() to close logging subsystem 2022-02-21 13:35:35 +01:00
Robert Schmidt
72a4ed80da Merge remote-tracking branch 'origin/msc-removal' into integration_2022_wk08 2022-02-19 19:43:11 +01:00
Laurent THOMAS
8e3f720b7d fix unaligned mem for SIMD 2022-02-18 09:41:18 +01:00
Robert Schmidt
0a8c037735 Set default log level to info 2022-02-01 13:17:26 +01:00