Commit Graph

32853 Commits

Author SHA1 Message Date
Teodora Vladić
10ff25e530 Decompress IQ properly for ARM architecture
Signed-off-by: Teodora Vladić <teodora.vladic@openairinterface.org>
Fixes: f65b8f564f ("Correctly extract the PUSCH PRBs from an internet frame (one fragment)")
2026-06-17 11:39:18 +02:00
Sagar Arora
a52883c051 [doc FHI72]: update ptp configuration for verion 4.4
Signed-off-by: Sagar Arora <sagar.arora@openairinterface.org>
2026-06-17 11:31:50 +02:00
Teodora Vladić
4b767c3ab1 [FHI72] Set the K_VERSION explicitely in the doc
Shall be always up to date according to the cmake variable.

Signed-off-by: Teodora Vladić <teodora.vladic@openairinterface.org>
2026-06-17 11:31:50 +02:00
Robert Schmidt
f3589d97c2 Merge remote-tracking branch 'origin/integration_2026_w24' into develop
Integration: `2026.w24`

- #145 RLC data req: Use API to fill multiple RLC PDUs at gNB
- #160 ci: maintainer approval for additional file changes and update maintainer's contact
- #146 Unit tests for bit functions
- #142 UE DL Channel compensation and LLR optimization
- #166 CI OCUDU configuration changes
- #170 fix(fhi72): add observability to the O-DU
- #173 fix(f1): DRB Information has criticality ignore
- #171 Local ssb detection
2026.w24
2026-06-12 10:46:17 +02:00
Robert Schmidt
05a2fdf095 Merge remote-tracking branch 'origin/local-ssb-detection' into integration_2026_w24
Local ssb detection (#171)

PSS/SSS detection in the UE code uses a global structure that describe
the cell parameters it is not logical because we will populate this
information from what we read in the MIB and the SIB1 later it also
blocks us to make a cell scanner in a logical manner, just calling pss
detection function with a set of detection parameters and a buffer of
digital radio

this MR fixes this and simplifies the code.

Reviewed-by: Sakthivel Velumani <s.velumani@northeastern.edu>
2026-06-11 18:08:53 +02:00
Robert Schmidt
945fe9a756 Merge remote-tracking branch 'rorsc/f1-drb-info-crit' into integration_2026_w24
fix(f1): DRB Information has criticality ignore (#173)

See 38.473: this IE is supposed to be "ignore".

Closes: #172
Reviewed-By: Guido Casati <guido.casati@openairinterface.org>
2026-06-11 16:52:05 +02:00
Robert Schmidt
443f580153 Merge remote-tracking branch 'temp-remote/fhi_72-observability' into integration_2026_w24
fix(fhi72): add observability to the O-DU (#170)

This change adds printout to packet error/timing counters for the O-DU K
release. In F release these counters are either not present or not
implemented properly.

Reviewed-by: Teodora Vladić <teodora.vladic@openairinterface.org>
2026-06-11 16:49:09 +02:00
Robert Schmidt
43fc8c084c Merge remote-tracking branch 'sakthi/ocudu-ci-config' into integration_2026_w24
CI OCUDU configuration changes (#166)

1. Enable more logs in ocudu gnb.
2. Reduce tx amplitude to prevent clipping in OAI DFT.

Reviewed-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org>
2026-06-11 16:34:50 +02:00
Robert Schmidt
4b32f4d161 fix(f1): DRB Information has criticality ignore
See 38.473.

Closes: #172

Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
2026-06-11 16:00:03 +02:00
Laurent THOMAS
48806d032a remove extra fo compensation after SSB detection, as it is never used after
Signed-off-by: Laurent THOMAS <laurent.thomas@open-cells.com>
2026-06-11 15:50:10 +02:00
Laurent THOMAS
d75e99af63 keep T tracer optional
Signed-off-by: Laurent THOMAS <laurent.thomas@open-cells.com>
2026-06-11 15:50:10 +02:00
Laurent THOMAS
b9fc7cc5d2 replace a useless and inefficient pointer argument to a const direct value passing
Signed-off-by: Laurent THOMAS <laurent.thomas@open-cells.com>
2026-06-11 15:50:10 +02:00
Laurent THOMAS
f1e5d1fb4f try to work around compiler bug (internal segv)
Signed-off-by: Laurent THOMAS <laurent.thomas@open-cells.com>
2026-06-11 15:50:10 +02:00
Laurent THOMAS
885e5e8895 make sss detection readable
Signed-off-by: Laurent THOMAS <laurent.thomas@open-cells.com>
2026-06-11 15:50:10 +02:00
Laurent THOMAS
11b8ba54ea make a decent struct for pss detection results instead of a mess
Signed-off-by: Laurent THOMAS <laurent.thomas@open-cells.com>
2026-06-11 15:50:09 +02:00
Laurent THOMAS
8eeb1b125f make all functions for pss detection independant of global context such as frame_parms
Signed-off-by: Laurent THOMAS <laurent.thomas@open-cells.com>
2026-06-11 15:50:09 +02:00
Laurent THOMAS
ad44ee75f6 use specific paramters for rx_sss() instead of global frame parms
Signed-off-by: Laurent THOMAS <laurent.thomas@open-cells.com>
2026-06-11 15:50:09 +02:00
Laurent THOMAS
1360217cae remove static global tables that can become race condition in scanning context. Also difficult to understand for about no cpu saving
Signed-off-by: Laurent THOMAS <laurent.thomas@open-cells.com>
2026-06-11 15:50:09 +02:00
Laurent THOMAS
b7cba9d266 use specific paramters for apply_nr_rotation_symbol_RX() instead of global frame parms
Signed-off-by: Laurent THOMAS <laurent.thomas@open-cells.com>
2026-06-11 15:48:49 +02:00
Bartosz Podrygajlo
ad12c4f9a8 fix(fhi72): add observability to the O-DU
Signed-off-by: Bartosz Podrygajlo <bartosz.podrygajlo@openairinterface.org>
2026-06-11 14:09:13 +02:00
Laurent THOMAS
911f069709 use specific paramters for init_timeshift_rotation() instead of global frame parms
Signed-off-by: Laurent THOMAS <laurent.thomas@open-cells.com>
2026-06-11 09:59:29 +02:00
Laurent THOMAS
2c7530e0bf use specific paramters for perform_symbol_rotation() instead of global frame parms
Signed-off-by: Laurent THOMAS <laurent.thomas@open-cells.com>
2026-06-11 09:59:20 +02:00
Sakthivel Velumani
4b79c55ce6 ci: redirect ocudu gnb logs to stdout
CI script saves only stdout logs.

Signed-off-by: Sakthivel Velumani <s.velumani@northeastern.edu>
2026-06-11 01:21:05 +00:00
Sakthivel Velumani
2ff86cfb27 ci: reduce tx amplitude in zmq radio
OAI DFT has scaling issues when the signal is very strong or close to
full scale. So reduce amplitude by 10dB in gnb to prevent
overflow/clipping.

Signed-off-by: Sakthivel Velumani <s.velumani@northeastern.edu>
2026-06-10 17:24:43 +00:00
Sakthivel Velumani
0a0de88ff8 ci: enable all info logs in ocudu gnb
Signed-off-by: Sakthivel Velumani <s.velumani@northeastern.edu>
2026-06-10 17:24:30 +00:00
Robert Schmidt
fa237ffab4 Merge remote-tracking branch 'origin/oai_ue_perf_opt' into integration_2026_w24
UE DL Channel compensation and LLR optimization (#142)

- Common channel compensation: Extracted nr_channel_compensation() as a
  shared function (AVX2/MRC inline) used by both gNB and UE PDSCH/PUSCH
  paths, eliminating duplicated compensation logic.
- Common ML/MMSE 2-layer MIMO: Created shared ML LLR and MMSE routines
  for 2-layer spatial multiplexing, shared between gNB and UE
  demodulation.
- File segregation: Moved common LLR and channel compensation functions
  into dedicated source files for better modularity and reuse.
- nr_dlsim -E flag: Added a command-line argument to enable/disable
  ML/MMSE equalization at runtime (MMSE default), enabling side-by-side
  performance comparison without recompilation.
- Persistent UE buffer allocation: pdsch_dl_ch_estimates, rxdataF_comp,
  dl_ch_mag,dl_ch_magb,dl_ch_magr and rho_dl are now allocated once in
  PHY_VARS_NR_UE on first use, resize automatically when dimensions
  change (resizeAllowed=true), and are freed at UE teardown in
  term_nr_ue_signal. Eliminates per-slot heap allocation/free overhead.
- PTRS restricted to one antenna port: PTRS phase tracking is only valid
  for a single port; processing now correctly restricted to avoid
  unnecessary computation.
- Reduce rxdataF_comp buffer size: MRC combines all Rx antenna
  contributions into a per-layer output, so the first dimension was
  reduced from Nl * nb_antennas_rx to Nl, reducing buffer footprint
  proportionally.
- 256QAM segfault fix: nr_256qam_llr() on gNB side used a VLA for LLRs
  without alignment, causing AVX2 load faults. Fixed with
  attribute((aligned(32))).

Reviewed-by: Sakthivel Velumani <s.velumani@northeastern.edu>
2026-06-10 17:48:44 +02:00
Robert Schmidt
8c255558f0 Merge remote-tracking branch 'origin/unit_bits' into integration_2026_w24
Unit tests for bit functions (#146)

Unit tests for bit functions in file bits.h using randomized values to
make the tests dynamic

Migrated from
https://gitlab.eurecom.fr/oai/openairinterface5g/-/merge_requests/4139

Reviewed-by: Robert Schmidt <robert.schmidt@openairinterface.org>
Reviewed-by: Rupanjali Srivastava <rupanjali.srivastava@openairinterface.org>
2026-06-10 15:41:28 +02:00
Rupanjali
460cbf954d 256 QAM: Fixing the segmentation fault in nr_256qam_llr() the input llr buffer is not 32 byte aligned for AVX2 instructions on gNB side
Signed-off-by: Rupanjali <rupanjali.srivastava@openairinterface.org>
2026-06-10 09:25:37 -04:00
Rupanjali
80451a917f Reduce buffer size of rxdataF_comp
nr_channel_estimation() produces combined output of all antenna ports for each layer. So reduced the buffer size from no. of layer times no. of antennas to no. of layers.

Signed-off-by: Rupanjali <rupanjali.srivastava@openairinterface.org>
2026-06-10 09:25:37 -04:00
Rupanjali
d2bbf09121 ptrs: limit PTRS processing to one antenna port
The current state of PTRS will not work for multiple antenna ports because the function assumes rxdataF_comp has signal for all antenna ports but it doesn't as we do MRC after DMRS compensation.

Signed-off-by: Rupanjali <rupanjali.srivastava@openairinterface.org>
2026-06-10 09:25:37 -04:00
Rupanjali
039b008676 Added a command line argument -E to enable/disable ML/MMSE for nr_dlsim with MMSE being default to compare performances during runtime
Signed-off-by: Rupanjali <rupanjali.srivastava@openairinterface.org>
2026-06-10 09:25:37 -04:00
Rupanjali
1b77adcb10 Segregate the LLR and channel compensation related common functions into different files
Signed-off-by: Rupanjali <rupanjali.srivastava@openairinterface.org>
2026-06-10 09:25:37 -04:00
Rupanjali
7db4dfec73 Created common ML LLR and MMSE for 2 layers functions being shared by both gNB and UE. Disabled ML based LLR due to lareg compute time
Signed-off-by: Rupanjali <rupanjali.srivastava@openairinterface.org>
2026-06-10 09:25:37 -04:00
Rupanjali
e2676b5159 Create common channel compensation function shared by both gNB and UE
Signed-off-by: Rupanjali <rupanjali.srivastava@openairinterface.org>
2026-06-10 09:25:37 -04:00
Rupanjali
ce4a9da3ca Refactor rxdataF_comp/dl_ch_mag to flattened array layout
Signed-off-by: Rupanjali <rupanjali.srivastava@openairinterface.org>
2026-06-10 08:52:41 -04:00
Robert Schmidt
79171c19af Merge remote-tracking branch 'origin/ci-fixes-duranta' into integration_2026_w24
ci: maintainer approval for additional file changes and update maintainer's contact (#160)

Reviewed-by: Robert Schmidt <robert.schmidt@openairinterface.org>
Reviewed-by: Jaroslava Fiedlerova <jaroslava.fiedlerova@openairinterface.org>
2026-06-10 14:38:51 +02:00
Robert Schmidt
0a9d817d9c fix(ci): infer branch name if only commit given
After migration of github, we only use the commit ID for the
pre-ci-check script. This is problematic, because it checks for merges,
excluding the integration branch (expected to have merges), based on the
branch _name_.

In this commit, if a full SHA is detected as the branch "name", use "git
branch --points-at" to get a branch name, then use that to exclude
integration branches (or not).  If no branch name is found, the branch
name "" is used, which will trigger the normal merge check (because ""
does not match the integration branch name).

Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
2026-06-10 14:38:09 +02:00
Robert Schmidt
33e09d7e3e Merge remote-tracking branch 'rorsc/nr-rlc-multi-req' into develop
RLC data req: Use API to fill multiple RLC PDUs at gNB (#145)

Use the RLC API to fill a transport block for a given LCID with a single
lock-unlock cycle.

This is a (partial) recommit of 4426fb1 which had been reverted later in
commit 8ed54d7.

Reviewed-by: Jaroslava Fiedlerova <jaroslava.fiedlerova@openairinterface.org>
Reviewed-by: Francesco Mani <email@francescomani.it>
2026-06-10 14:38:00 +02:00
Francesco Mani
d6e9492b6f add unit tests for bit manipulation functions
Signed-off-by: Francesco Mani <email@francescomani.it>
Assisted-by: Claude:claude-sonnet-4-6
2026-06-10 11:12:38 +02:00
Shubhika Garg
29be39948c ci: protect deployment/build files and update maintainer contact
- Add ci-approval protection for docker/, charts/, openshift/,
    and build_oai and build_helper files
  - Update oai email contact to `oaicicdteam@openairinterface.org`
  - Change GitLab to GitHub in `GET_SOURCES.md`

Signed-off-by: Shubhika Garg <shubhika.garg@openairinterface.org>
2026-06-10 10:15:45 +02:00
Robert Schmidt
d4d494d0d3 Merge remote-tracking branch 'origin/update-duranta-ci' into develop
ci: remove first-time contributor job in workflow and update Jenkins job badges #147

- Remove the first-time contributor GitHub Actions workflow
- Update Jenkins image builder badge URLs to match the current job
  names.

The first-time contributor workflow posts an automated welcome message
through github-actions[bot], creating additional bot activity on pull
requests. Contributor onboarding information is better maintained
through project announcements and documentation, where it is easier to
update and more visible to new contributors.

Reviewed-by: Robert Schmidt <robert.schmidt@openairinterface.org>
2026-06-09 09:34:19 +02:00
Shubhika Garg
62846a9311 ci: remove first-time contributor job in workflow and update Jenkins badges
- Remove the automated welcome message for first-time contributors.
    Contributor related information will be maintained in project
    announcements instead, avoiding additional bot activity on PRs.
  - Update badge links for the Jenkins image builder jobs.

Signed-off-by: Shubhika Garg <shubhika.garg@openairinterface.org>
2026-06-09 09:22:15 +02:00
Francesco Mani
db5c84e864 add assertion in count_bits64_with_mask and fix undefined behavior for size 64
Signed-off-by: Francesco Mani <email@francescomani.it>
Assisted-by: Claude:claude-sonnet-4-6
2026-06-09 09:17:01 +02:00
Robert Schmidt
acab173950 RLC data req: Use API to fill multiple RLC PDUs at gNB
Use the RLC API to fill a transport block for a given LCID with a single
lock-unlock cycle.

This is a (partial) recommit of 4426fb1a2e
which had been reverted later in commit 8ed54d7077.

See: 4426fb1a2e ("RLC data req: Add API to fill multiple RLC PDUs in
    one TB, use at gNB")
Fixes: 8ed54d7077 ("Refactor DL scheduler into staged pipeline with
    pluggable function pointers")
Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
2026-06-09 08:50:16 +02:00
Sagar Arora
19a8a0d1d4 Merge pull request #133 from duranta-project/ci-migration-test
ci: change github action event from pull_request to pull_request_target
2026-06-08 17:57:11 +02:00
Shubhika Garg
8e30ec8031 ci: migrate Jenkins dispatch to pull_request_target
Migrate the Jenkins dispatch workflow from `pull_request` to
`pull_request_target` so that secrets are available for PRs from forks,
enabling CI to run on external contributions.

- Switch trigger from `pull_request` to `pull_request_target`
- Add `github.event.action` to concurrency group to prevent the `opened`
  event from cancelling in-progress CI runs, which caused `detect-changes`
  to be skipped on new PRs
- Remap `pull_request_target` back to `pull_request` in the
  `X-Github-Event` header for Jenkins compatibility
- Remove `pr-retrigger-ci-instructions`

Co-authored-by: Sagar Arora <sagar.arora@openairinterface.org>
Co-authored-by: Jaroslava Fiedlerova <jaroslava.fiedlerova@openairinterface.org>
Signed-off-by: Shubhika Garg <shubhika.garg@openairinterface.org>
2026-06-08 17:40:47 +02:00
Robert Schmidt
ba9b9b217a Merge remote-tracking branch 'origin/integration_2026_duranta' into develop
Integration: Duranta Migration

* #2 CI: GitLab to GitHub Migration
* #4 docs: GitLab to GitHub Migration

See pull request duranta-project/openairinterface5g#14
2026-06-05 17:37:55 +02:00
Robert Schmidt
416248f951 Merge remote-tracking branch 'origin/github-migration-doc' into develop
4: docs: GitLab to GitHub Migration

Update documentation to match migration to Duranta.

Reviewed-by: Sagar Arora <sagar.arora@openairinterface.org>
Reviewed-by: Shubhika Garg <shubhika.garg@openairinterface.org>
Reviewed-by: Jaroslava Fiedlerova <jaroslava.fiedlerova@openairinterface.org>
2026-06-05 17:31:43 +02:00
Robert Schmidt
1c850b622d Merge remote-tracking branch 'origin/ci-migration' into develop
2: CI: GitLab to GitHub Migration

Integrates the existing Jenkins pipeline into the new Github
duranta-project/openairinterface5g project.

For more information, see pull request #2.

New pipelines:

- https://jenkins-oai.eurecom.fr/job/RAN-GitHub-Container-Parent/
- https://jenkins-oai.eurecom.fr/job/RAN-Internal-Repo-Push/
- https://jenkins-oai.eurecom.fr/job/RAN-Ubuntu-Image-Builder/ (renamed
  from RAN-Ubuntu18-Image-Builder)
- https://jenkins-oai.eurecom.fr/job/RAN-RHEL-Cluster-Image-Builder/
  (renamed from RAN-RHEL8-Cluster-Image-Builder)

Reviewed-by: Robert Schmidt <robert.schmidt@openairinterface.org>
Reviewed-by: Shubhika Garg <shubhika.garg@openairinterface.org>
Reviewed-by: Sagar Arora <sagar.arora@openairinterface.org>
2026-06-05 17:27:56 +02:00
Robert Schmidt
de00110649 fix: update GET_SOURCES with Duranta workflow
Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
2026-06-05 17:16:41 +02:00