Commit Graph
27160 Commits
Author SHA1 Message Date
Guido Casati 0265607a95 Fix memory leaks in NAS generatePduSessionEstablishRequest
>Direct leak of 7 byte(s) in 1 object(s) allocated from:
    >0 0x7ffff74b4887 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    >1 0x55555819ab3c in generatePduSessionEstablishRequest /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:938
    >2 0x5555581a8a9f in nas_nrue /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1295
    >3 0x5555581a3078 in nas_nrue_task /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1215
    >4 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442

> Direct leak of 4 byte(s) in 1 object(s) allocated from:
    >0 0x7ffff74b4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
    >1 0x55555819c025 in generatePduSessionEstablishRequest /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:993
    >2 0x5555581a8a9f in nas_nrue /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1295
    >3 0x5555581a3078 in nas_nrue_task /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1215
    >4 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442

> Direct leak of 1 byte(s) in 1 object(s) allocated from:
    >0 0x7ffff74b4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
    >1 0x55555819c8f7 in generatePduSessionEstablishRequest /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:987
    >2 0x5555581a9b75 in nas_nrue /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1299
    >3 0x5555581a414e in nas_nrue_task /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1219
    >4 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442
2024-08-30 15:03:15 +02:00
Guido Casati 8e9f6385cc Fix memory leak in generateAuthenticationResp
> Direct leak of 16 byte(s) in 1 object(s) allocated from:
    >0 0x7ffff74b4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
    >1 0x55555818ef1c in generateAuthenticationResp /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:588
    >2 0x5555581b0fca in nas_nrue /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1405
    >3 0x5555581a3069 in nas_nrue_task /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1213
    >4 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442
2024-08-30 14:57:45 +02:00
Guido Casati 0ef6153bb9 Fix memory leak of NAS buffer transfered to RRC with NAS_UPLINK_DATA_REQ
* Data buffer for NAS Registration Complete and Authentication Response is malloced in
  the NAS thread and transfered with ITTI message to RRC, where needs to be freed

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    >0 0x7ffff74b4887 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    >1 0x5555572b0607 in generateAuthenticationResp /repo/openairinterface5g/develop/openair3/NAS/NR_UE/nr_nas_msg_sim.c:608
    >2 0x5555572b0607 in nas_nrue /repo/openairinterface5g/develop/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1402
    >3 0x5555572baef6 in nas_nrue_task /repo/openairinterface5g/develop/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1198
    >4 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442

Direct leak of 10 byte(s) in 1 object(s) allocated from:
    >0 0x7ffff74b4887 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    >1 0x55555729754e in generateRegistrationComplete /repo/openairinterface5g/develop/openair3/NAS/NR_UE/nr_nas_msg_sim.c:782
    >2 0x555557299ad3 in handle_registration_accept /repo/openairinterface5g/develop/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1212
    >3 0x5555572b06a0 in nas_nrue /repo/openairinterface5g/develop/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1411
    >4 0x5555572baef6 in nas_nrue_task /repo/openairinterface5g/develop/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1198
    >5 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442
2024-08-30 14:51:54 +02:00
Matthias Mehlhose d055cc0004 remove double define with nr_common.h 2024-08-30 11:49:12 +00:00
francescomani 01ae8fbb38 prach code cleanup 2024-08-29 15:52:46 +02:00
francescomani dc5df35fe1 remove a couple of global variables from pusch_vars and some further cleanup 2024-08-29 15:52:42 +02:00
francescomani 1a04ebaa02 cleanup of gNB PHY procedures and removal of global PBCH structure 2024-08-29 15:36:16 +02:00
Cedric Roux 532aa1a904 rfsim: print error if write fails
Some strange behavior may happen if write() to the rfsim socket fails.
Let's print some error, can be useful in case of problem.
2024-08-29 15:06:29 +02:00
Cedric Roux 42539b0bec rfsim: add a check on 'sock'
It is very possible that the operating system returns a file
descriptor bigger than the size of bridge->buf (MAX_FD_RFSIMU, which
is 250 as of now). As a minimum, let's fail if the socket file
descriptor is out of bounds.

A proper solution may be implemented later, if needed.
2024-08-29 14:59:51 +02:00
Rúben Soares Silva 94050d5ec1 Update Aerial docs to reference current version
Updated links to latest available L1 documentation
Removal of unneeded environment variable in aerial_l1_entrypoint.sh
Removal of unneeded checkout command from doc
Reword Aerial Entrypoint script paragraph to separate in multiple sentences
New UE has been tested with Aerial setup
Change bash blocks to reflect that cuBB container no longer uses root
Add alternative instructions to obtain nvipc sources from container
Add note in Prepare the L1 image section specifying default config file and location

Co-Authored by: Reem Bahsoun <reem.bahsoun@openairinterface.org>
2024-08-29 13:15:53 +01:00
Raphael Defosseux 1793e7e56d fix(docker): aligning all rockylinux-9 Dockerfiles with the RHEL9 ones
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2024-08-29 11:14:50 +02:00
francescomani d04a83ea93 defs_gNB cleanup 2024-08-29 08:54:42 +02:00
luis_pereira87 8172da04c8 CI: Set max_rxgain to 75 (max value for N310) in SA 2x2 pipeline 2024-08-28 21:09:37 +01:00
Bartosz Podrygajlo 97dfa90cf2 Add two ldpc testcases for checking small block sizes
Added 2 testcases for Zc = 64 for ldpc encoder. These testcases check optimized ldpc
implementation against reference.
2024-08-28 17:48:42 +02:00
francescomani c93dcc0484 cleanup of encode_parity_check_part_optim including asserting for case not handled 2024-08-28 17:40:26 +02:00
Bartosz Podrygajlo 732555ddc3 Run optimized parity check in ldpc encoder only on supported Zc values
Optimized ldpc encoder was run for Zc values that are not supported (Zc == 64). This
commit fixes the fallback condition to Zc >= 72 for BG 2
2024-08-28 17:40:19 +02:00
Jaroslava Fiedlerova 24c01d8fda CI: Increase tested DL bitrate in SA 2x2 pipeline 2024-08-28 16:33:24 +02:00
Jaroslava Fiedlerova 4684666430 CI: Increase tested UL bitrate in SA 2x2 pipeline 2024-08-28 16:33:24 +02:00
Robert Schmidt 8bffd1666d Avoid complete rebuild on cmake run with git info change
Before this commit, the following will trigger a complete rebuild:

- create another git name (git checkout -b test)
- run cmake again manually (cmake ..)
- run ninja again

The top-level CMakeLists.txt uses add_definitions() to add git
information to all targets; if some git information changes, this will
mark all command lines as dirty, triggering the build.

There is an easy solution: instead of passing this information on the
command line, pass it in a header. This commit uses configure_file() to
generate a file oai_version.h in the build directory with the same
information. Various sources files, e.g., main executables, use this to
output the same information as before. It is then also not necessary to
use header guards, as cmake takes care to create this file.

If cmake is re-run, it will update the header, and trigger only files
including this header will be rebuilt (which can be shown with the above
stpes). The information passed is the same as before, and updates the
information when the old method would have updated it.
2024-08-28 15:57:24 +02:00
Robert Schmidt 49688f8478 Remove unused PACKAGE_BUGREPORT, initialize FIRMWARE_VERSION with sensible default 2024-08-28 15:25:00 +02:00
Bartosz Podrygajlo 0883904891 Introduce benchmark test for rotate_cpx_vector
This commit introduces google benchmark library and one benchmark for
rotate_cpx_vector.  Also extracted common tools used in testcases for
generation and allocation of byte aligned vectors in phy_test_tools.hpp
2024-08-28 15:08:44 +02:00
rmagueta a3b753d8cb ULSCH power computation in a different way 2024-08-28 11:50:25 +01:00
Robert Schmidt 46a1d2a621 Merge branch 'integration_2024_w34' into 'develop'
Integration: `2024.w34`

See merge request oai/openairinterface5g!2923

* !2906 mod: Improve signal processing speed of rotate_cpx_vector function
* !2909 NR UE SIB1 free fix
* !2917 Cleanup NR UE NAS instance handling
* !2924 Fix misalignment issues in TLVEncoder macros ENCODE_U16, ENCODE_U24
* !2907 CI: add new testcases to RFSim-5G pipeline, reduce ping and iperf test time
* !2893 LEO satellite delay and Doppler simulation and adjusted NR_UE time sync
2024-08-28 07:16:57 +00:00
Robert SchmidtandRaymond Knopp 85f194b5c7 Add documentation and sample config for FHI 7.2 multi-RU operation
Co-authored-by: Raymond Knopp <raymond.knopp@eurecom.fr>
2024-08-27 15:40:15 +02:00
Raymond KnoppandRobert Schmidt 7e18293c70 Changes for multi-RU support in fhi72
Co-authored-by: Robert Schmidt <robert.schmidt@openairinterface.org>
2024-08-27 15:40:15 +02:00
Robert Schmidt 574363c515 Correct order of PCI addresses in O-RAN 7.2 tutorial
The correct order for xran seems to be first Uplane, then C plane. In
the past, we used to switch (for reasons I don't know), but let's
reverse it to the proper order.
2024-08-27 15:40:15 +02:00
Robert Schmidt 68b29301b0 Merge remote-tracking branch 'origin/ntn_leo_time_comp' into integration_2024_w34 2024-08-27 14:30:15 +02:00
Robert Schmidt 922e810a82 Merge remote-tracking branch 'origin/ci-rfsim-optimize' into integration_2024_w34 2024-08-27 14:30:05 +02:00
Robert Schmidt 957073325e Merge remote-tracking branch 'origin/TLV_Encoder_Fixes' into integration_2024_w34 2024-08-27 14:29:57 +02:00
Robert Schmidt adc88d3d87 Merge remote-tracking branch 'origin/nr-ue-nas-cleanup' into integration_2024_w34 2024-08-27 14:29:32 +02:00
Robert Schmidt 020662f95a Merge remote-tracking branch 'origin/NR_UE_RRC_SIB1_fix' into integration_2024_w34 2024-08-27 14:29:24 +02:00
Robert Schmidt baf02b8d1e Merge remote-tracking branch 'origin/speedup_rotate_cpx_vector' into integration_2024_w34 2024-08-27 14:29:12 +02:00
Guido Casati 031622b1a3 Review of CL options section in RUNMODEM
* place all NR UE CL optional options in the same section, in a table
* add a section for common CL options
* add subsection for UE capabilities
* removed redundant text
2024-08-27 10:04:15 +02:00
Jaroslava Fiedlerova 370062c04c CI: Add sidelink test to RF-Sim 5G 2024-08-26 17:08:27 +02:00
Jaroslava Fiedlerova fad450cbe3 Skip UE Log Analysis During Sidelink Testing
Bypass UE log analysis when testing sidelink, as it fails due to the absence
of expected information and patterns (not present in sidelink communication).
Instead, a custom command is used to verify the success of sidelink tests by
checking for the presence of "PSBCH RX:OK" in the log of the second UE.
2024-08-26 17:08:27 +02:00
Jaroslava Fiedlerova 1960516554 CI: Add NTN GEO testcase to RF-Sim 5G 2024-08-26 17:08:27 +02:00
Jaroslava Fiedlerova c49ed17c57 CI: Modify rfsim5g 2x2 testcase to use 100 MHz bandwidth 2024-08-26 17:08:27 +02:00
Jaroslava Fiedlerova 7293741a99 CI: Reduce iperf time in RF-Sim 5G 2024-08-26 17:08:27 +02:00
Jaroslava Fiedlerova d9648ae6b2 CI: Reduce ping time in rfsim 5G 2024-08-26 17:08:27 +02:00
Thomas Schlichter 4b859a2eb8 fix sidelink UE issues found by sanitizer 2024-08-26 17:08:27 +02:00
Robert Schmidt 867a06b302 Distribution check: Remove EOL Ubuntu releases
See also https://ubuntu.com/about/release-cycle
2024-08-26 11:02:43 +02:00
Robert Schmidt 382de78c66 Distribution check: update to current Fedora 40
Closes: #825
2024-08-26 11:02:30 +02:00
Guido Casati 9e6435758a Wrap multi-statement macros ENCODE_U8() and ENCODE_U32() in do { ... } while (0) statements 2024-08-26 10:13:18 +02:00
Thomas Schlichter b17b44dffb add description how to run a LEO satellite rfsimulation to RUNMODEM.md 2024-08-23 14:57:48 +02:00
Thomas Schlichter ede6775ac3 fix for compilers that don't support the CMPLX() macro 2024-08-23 14:57:48 +02:00
Thomas Schlichter 0eb409f114 NR_UE: Perform autonomous timing advance to compensate for fast time drift with relatively large RTT
As we don't have SIB19 with continuously updated ta-Common and ta-CommonDrift values yet, the UE can only adapt it's UL timing according to it's DL drift.
This is required for the UE to keep UL sync with fast time drift and relatively long RTT (e.g. LEO satellite).
We should replace this with the standard compliant way as soon as we have SIB19 with continuously updated contents.
2024-08-23 14:57:48 +02:00
Guido Casati bac4f798f9 Fix misalignment issues in TLVEncoder macros ENCODE_U16, ENCODE_U24
This commit resolves undefined behaviour runtime errors related
to misaligned memory access. E.g.

> openair3/NAS/COMMON/IES/FGSMobileIdentity.c:193:3:
> runtime error: store to misaligned address 0x608000021e2b for type 'uint16_t',
> which requires 2 byte alignment 0x608000021e2b: note: pointer points here 00 f1 ...

* ENCODE_U24: safely encode 24-bit values into a buffer
  by using memcpy to copy 3 bytes in network byte order (big-endian).
* ENCODE_U16: safely encodes a 16-bit value into a buffer, handling
  misalignment by memcpy 2 bytes to buffer in network byte order (big-endian).
2024-08-23 11:34:44 +02:00
Bartosz Podrygajlo 50f8f3de58 Fix formatting in nr_nas_msg_sim.c 2024-08-23 10:45:45 +02:00
Bartosz Podrygajlo 4f12a25ebd Cleanup NR UE NAS instance handling
- Save nas instance id in nr_ue_nas_t and use that for instance determination.
 - Use correct field in itti message (destinationInstance instead of originInstance) to determine instance
 - Make sure both destinationInstance and originInstance fields are correct in NAS interface functions.
2024-08-23 10:45:36 +02:00
Thomas Schlichter e662721310 NR_UE: make NTN parameter ta_CommonDrift_r17 configurable via command line parameter --ntn-ta-commondrift
While we don't have SIB19 support yet, UE gets this parameter from command line, just like --ntn-koffset and --ntn-ta-common.
We use this value to initialize the UE's time-tracking PI controller accumulator.
This allows to correctly track the time even if the delay is changing significantly (e.g. due to LEO satellite movement).
We also use it to compensate for the time drift that happenes while performing the initial sync.
2024-08-23 10:26:18 +02:00