- 08 Apr, 2026 1 commit
-
-
Jaroslava Fiedlerova authored
build_oai fixes: harmonize duplicate options, remove wrong --build-lib handling Correctly handle --build-lib such that missing arguments are still handled properly. Harmonize, and remove useless code.
-
- 07 Apr, 2026 8 commits
-
-
Robert Schmidt authored
This option is potentially dangerous as it might override custom user options. Signed-off-by:Robert Schmidt <robert.schmidt@openairinterface.org>
-
Robert Schmidt authored
Functionality existed to print all output of asn1c on error, but the form asn1c || cat X makes the command exit with a 0 exit code (success). Fix by explicitly returning non-zero exit code in this case: asn1c || ( cat X && false ) Signed-off-by:Robert Schmidt <robert.schmidt@openairinterface.org>
-
Robert Schmidt authored
Both do practically the same. Harmonize them into one while guaranteeing backwards compatibility. Signed-off-by:Robert Schmidt <robert.schmidt@openairinterface.org>
-
Robert Schmidt authored
Signed-off-by:Robert Schmidt <robert.schmidt@openairinterface.org>
-
Robert Schmidt authored
This fixes two problem: 1. an omitted --build-lib library could yield strange grep errors. For instance, calling build_oai --build-lib --cmake-opt OPTION passed "--cmake-opt" to grep, that does not know this option. Handle by explicitly separating options and search pattern through --. 2. Even with this fixed, set -e triggered an exit because grep exits with non-zero error code. Remove set -e to have the error handling code pass. With set -e removed, properly check that the build passes. Update a log line to make it clearer. Assisted-by: Claude:claude-sonnet-4-6 Signed-off-by:Robert Schmidt <robert.schmidt@openairinterface.org>
-
Jaroslava Fiedlerova authored
nr rlc: tolerate bogus data Some unfriendly entity may play with the RLC module and send bogus data to trigger funky behaviors here and there. A report sent by Dhanish indentifies one such issue. From analyzing this report, a possible scenario is the following. Unfriendly entity sends an RLC PDU with: is_first=0 is_last=0 so=15 lenght of data, whatever, let's say 1. This PDU is put in the RX list. Then later it sends another PDU (for the same SN, obviously), with: is_first=1 is_last=1 so=0 (well, since is_first=1, necessarily so=0; it is not transmitted, see 38.322 6.2.2.3 for UM and 38.322 6.2.2.4 for AM) length=10, let's say. This PDU is also put in the RX list, before the previous one. Then the function sdu_full() returns 1, so reassemble_and_deliver() is called and the 'while (pdu)' loop is executed for both PDUs. When the second (bogus one) is processed, so==10 (after processing the first PDU) and the line: int len = pdu->size - (so - pdu->so) is: int len = 1 - (10 - 15) which is not good. So we detect the case 'pdu->so > so' and reject the SDU. We could label the other entity as bogus, since no standard RLC implementation will produce such a case, but let's remain friendly, even with unfriendly entities. (To be changed later if needed.) The problem was reported for RLC AM but is also present in RLC UM. (Not in RLC TM, where there is no segmentation.) Note: according to the report, this bug was found using a fuzzer described as 'AI-assisted custom 5G NR protocol fuzzer'. It had to be said.
-
Jaroslava Fiedlerova authored
Microamp FR2 configuration file and documentation Adding Microamp FR2 RU configuration file and updating documentation
-
Karim Boutiba authored
-
- 03 Apr, 2026 6 commits
-
-
Jaroslava Fiedlerova authored
Integration `2026.w14` * !4021 hotfix for 4 layer mapping on aarch64 * !4022 UE: Fix CSI RS Measurement * !4010 UE: Implement SUCI Profile Scheme A * !4012 More compilation improvements * !4027 CI: fix Aerial conf for test with 30 MHz BW * !3948 Update doc: split RUNMODEM.md, clarify USRP-specific workarounds * !4026 RRC/E1 bugfixes: handle missing UE context, don't send E1 msg if no PDU session * !3996 Switch xran lib repo to https://github.com/openairinterface/o-du-phy.git * !4020 Remove a lot of unused code and defines * !3969 Acceleration of channel convolution * !4023 Cleanup common_lib.h * Clarifications on license * !4017 CI: Add stage to push to local git repository See merge request oai/openairinterface5g!4025
-
Jaroslava Fiedlerova authored
CI: Add stage to push to local git repository This MR includes minor code cleanup and fixes for warnings reported by Jenkins. It also introduces a new stage in ci-scripts/Jenkinsfile-GitLab-Container that pushes the branch to a local repository after the merge. In a follow-up MR, this local repository will be used as the source for cloning the branch, replacing direct access to GitLab/GitHub.
-
Jaroslava Fiedlerova authored
Did you forget the `def` keyword? WorkflowScript seems to be setting a field named JOB_TIMESTAMP (to a value of type String) which could lead to memory leaks or other issues. Did you forget the `def` keyword? WorkflowScript seems to be setting a field named MR_NUMBER (to a value of type String) which could lead to memory leaks or other issues.
-
Jaroslava Fiedlerova authored
-
Jaroslava Fiedlerova authored
-
Robert Schmidt authored
Signed-off-by:Robert Schmidt <robert.schmidt@openairinterface.org>
-
- 02 Apr, 2026 11 commits
-
-
Cedric Roux authored
Some unfriendly entity may play with the RLC module and send bogus data to trigger funky behaviors here and there. A report sent by Dhanish, India, indentifies one such issue. From analyzing this report, a possible scenario is the following. Unfriendly entity sends an RLC PDU with: is_first=0 is_last=0 so=15 lenght of data, whatever, let's say 1. This PDU is put in the RX list. Then later it sends another PDU (for the same SN, obviously), with: is_first=1 is_last=1 so=0 (well, since is_first=1, necessarily so=0; it is not transmitted, see 38.322 6.2.2.3 for UM and 38.322 6.2.2.4 for AM) length=10, let's say. This PDU is also put in the RX list, before the previous one. Then the function sdu_full() returns 1, so reassemble_and_deliver() is called and the 'while (pdu)' loop is executed for both PDUs. When the second (bogus one) is processed, so==10 (after processing the first PDU) and the line: int len = pdu->size - (so - pdu->so) is: int len = 1 - (10 - 15) which is not good. So we detect the case 'pdu->so > so' and reject the SDU. We could label the other entity as bogus, since no standard RLC implementation will produce such a case, but let's remain friendly, even with unfriendly entities. (To be changed later if needed.) The problem was reported for RLC AM but is also present in RLC UM. (Not in RLC TM, where there is no segmentation.) Note: according to the report, this bug was found using a fuzzer described as 'AI-assisted custom 5G NR protocol fuzzer'. It had to be said.
-
Jaroslava Fiedlerova authored
Cleanup common_lib.h This change reduces the number of dependecies of common_lib.h and simplifies the task of implementing an external OAI radio library.
-
Jaroslava Fiedlerova authored
Merge remote-tracking branch 'origin/vrtsim-convolution-acceleration' into integration_2026_w14 (!3696) Acceleration of channel convolution Added two versions of channel convolution: - accelerated via threadpool - accelerated using CUDA
-
Robert Schmidt authored
Remove a lot of unused code, defines, and config options Remove unused header files and defines. Slightly clean up gnb_config.c by removing all _IDX variables. Remove these unused parameters: - MACRLCs.[0].num_cc - MACRLCs.[0].local_n_portc - MACRLCs.[0].remove_n_portc - MACRLCs.[0].remote_s_portc - MACRLCs.[0].remote_s_portd - L1s.[0].num_cc - L1s.[0].local_n_portc
-
Jaroslava Fiedlerova authored
Switch xran lib repo to https://github.com/openairinterface/o-du-phy.git
-
Jaroslava Fiedlerova authored
-
Jaroslava Fiedlerova authored
Declare `localStatus` and `localResult` as local variables in `triggerSlaveJob` and `triggerCN5GSlaveJob` functions by adding `def`. This prevents unintended use of global variables in pipeline and avoids potential variable leakage or conflicts between stages. Follows the Jenkins recommendation: Did you forget the `def` keyword? WorkflowScript seems to be setting a field named localStatus (to a value of type RunWrapper) which could lead to memory leaks or other issues. Did you forget the `def` keyword? WorkflowScript seems to be setting a field named localResult (to a value of type String) which could lead to memory leaks or other issues.
-
Jaroslava Fiedlerova authored
-
Robert Schmidt authored
Also remove intermediate variable eth_params_n that is not used anywhere.
-
Robert Schmidt authored
Remove the gNB_MAC_INST.eth_params_s, since it's only purpose is to store what can be on the stack. For the Aerial log message, don't print an empty prefix but what is actually used for Aerial.
-
Robert Schmidt authored
-
- 01 Apr, 2026 14 commits
-
-
Jaroslava Fiedlerova authored
- remove test_multipath and test_noise from ChanelSim tests of RAN-Channel-Simulation pipeline - will be executed together with the other CUDA-enabled unit tests
-
Jaroslava Fiedlerova authored
- enable configurable dockerfile, runtime-opt, and ctest-opt parameters in the XML file for the Build_Run_Tests step - pass runtime options to `docker run` to support ctest execution with CUDA - allow additional ctest options for selective test execution and labeling
-
Robert Schmidt authored
These parameters are not used.
-
Jaroslava Fiedlerova authored
- add benchmark_channel_pipeline to CTest - add test_channel_pipeline to CTest - add `cuda` label to CUDA-dependent tests for easier execution and filtering
-
Jaroslava Fiedlerova authored
This change removes the cudaDevAttrIntegrated check and only requires pageable memory access. This change allows to run GPU accelerated channel convolution on GH machines.
-
Robert Schmidt authored
Similar like parent commit, but for L1.
-
Robert Schmidt authored
The indices are brittle and might be wrong. Instead, use the option name (via gpd()) to look up config options. This will also simplify the removal of unused parameters, as we don't have to update all indices. Remove leading CONFIG_STRING_, as it is just repetitive and adds noise. The constants are both short(er) and sufficiently self-explanatory without it.
-
Jaroslava Fiedlerova authored
RRC/E1 bugfixes: handle missing UE context, don't send E1 msg if no PDU session See individual commits
-
Jaroslava Fiedlerova authored
Update doc: split RUNMODEM.md, clarify USRP-specific workarounds This reworks the documentation: - split up RUNMODEM.md into separate documents for gNB, UE, NTN - explains USRP workaround and patches - makes a standalone UE doc file that explains UE-specific configuration & modes - better explains physical simulators - adds a document on tracy - cleanup
-
Robert Schmidt authored
It can happen that a message is delayed, but then no UE is found for such message, e.g., something is delayed but the UE context is deleted in the meantime: [02:23:16.320730] [NR_RRC] I [--] (UE ID 3 RNTI d2b1) Remove UE context Assertion (ue_context_p) failed! In rrc_delay_transaction() /oai-ran/openair2/RRC/NR/rrc_gNB.c:191 In that case, don't delay the message further -- all handlers gated by this function will check for the UE context and abort the transaction if not present. -
Robert Schmidt authored
Abort message processing if no UE can be found, which is what is done in most other messages.
-
Robert Schmidt authored
It can happen that no PDU session can be setup (e.g., PDU session already setup). Check that there is at least one before triggering the message. Also initialize bearer_req.gNB_cu_cp_ue_id early to avoid uninitialized IDs (e.g., when no PDU session to be setup).
-
Jaroslava Fiedlerova authored
CI: fix Aerial conf for test with 30 MHz BW
-
Jaroslava Fiedlerova authored
More compilation improvements Mostly to decouple NR files from LTE headers. At least in one instance, ulsch_input_buffer_array, using an LTE constant in NR code was quite dangerous because the buffer in NR could easily be larger than what the LTE constant foresee.
-