Commit Graph
11549 Commits
Author SHA1 Message Date
Guido Casati f87388099d Replace type Byte_t used in NAS directly with uint8_t
* the goal is to simplify the code
2025-01-08 20:11:09 +01:00
Guido Casati 21df50b31e Cleanup unused imsi member in gNB_RRC_UE_s 2024-12-10 16:28:11 +01:00
Jaroslava Fiedlerova 55a18514b6 Merge remote-tracking branch 'origin/thread-pool-fixed' into integration_2024_w49 (!3025)
New threadpool, fixed in NR UE

This merge request is an attempt to fix the new thread pool implementation
for use in NR UE and gNB (as well as eNB).
2024-12-06 16:36:38 +01:00
Jaroslava Fiedlerova 797bc1b285 Merge remote-tracking branch 'origin/remove-not-needed-global-vars' into integration_2024_w49 (!3140)
remove un-necessary global variables

Remove global variables that can be removed by a trivial way:
- simply dead globals
- or reference is a single source, so can be static

setting them static reduces the scope, that is a progress, but of course as
for all static variables, the code is still not re-entrant
2024-12-06 11:51:29 +01:00
Jaroslava Fiedlerova 80736bb2bd Merge remote-tracking branch 'origin/t-tracer-nrue-macpdu' into integration_2024_w49 (!3137)
T tracer: add macpdu traces for the NR UE

MIB, SIB1, random access and regular scheduling are traced.

At the beginning of a connection (rrc setup request and rrc setup), the
RNTI is reported as 0. Might be fixed, somehow, if absolutely needed (not
sure).
2024-12-05 10:19:12 +01:00
21dafbcde7 New threadpool
- removed some whitespace noise.
 - cleaned up CMakeLists.txt
 - reintegrated task_manager.c into thread-pool.c
 - cleaned up some unnecessary code

Co-authored-by: Cedric Roux <cedric.roux@eurecom.fr>
Co-authored-by: Mikel Irazabal <mikel.irazabal@openairinterface.com>
2024-12-04 17:54:51 +01:00
Laurent THOMAS 279d49415f remove un-necessary global variables 2024-12-04 12:26:36 +01:00
luis_pereira87 99ea71462b Refactor UL MAC PDU decoding 2024-12-04 09:07:14 +00:00
Cedric Roux 5ff4b7a328 T tracer: add macpdu traces for the NR UE
MIB, SIB1, random access and regular scheduling are traced.

At the beginning of a connection (rrc setup request and rrc setup), the
RNTI is reported as 0. Might be fixed, somehow, if absolutely needed (not
sure).
2024-12-03 15:46:12 +01:00
Robert Schmidt fb0a9b64e4 Merge remote-tracking branch 'origin/gNB_supporting_more_UEs' into integration_2024_w48 (!3033)
Increase the number of UE supported at gNB by having more than 1 PUCCH2
frequency occasion per slot
2024-12-02 16:27:07 +01:00
Robert Schmidt b5675d3eea Merge remote-tracking branch 'origin/nfapi-p7-refactoring' into integration_2024_w48 (!3131)
FAPI P7 Refactoring and unitary test creation

This MR is a follow-up to the work done in !2714 this time separating
the P7 FAPI messages into its own library (nr_fapi_p7).

In the same way, utility functions to copy, free and compare have been
added for each message, as well as an addition function to get the
allocated size for a message, which is used for the messages that can be
too big to fit in a buffer that's allocated in the stack.

Unitary tests have been added for each of the messages, testing
pack/unpack and the utility functions added.
2024-11-30 12:59:25 +01:00
francescomani 68c95f80a1 increase the number of UE supported at gNB by having more than 1 PUCCH2 frequency occasion per slot 2024-11-29 16:13:54 +01:00
Cedric Roux 4e5c21fc12 bugfix: call T tracer only after setting values 2024-11-29 15:30:28 +01:00
Rúben Soares Silva 6a34439c86 Fix SRS beamforming_report reported symbol list.
Renames nfapi_nr_srs_reported_symbol_t prgs into *reported_symbol_list for two reasons:
  So that the name is more representative of what the parameter represents.
  For it to actually be a list, and not assume only 1 reported symbol is used.

Allocate reported_symbol_list in unpack_nr_srs_beamforming_report.

Updated all references to prior prgs to point to the first position of reported_symbol_list, still only effectively using the first reported_symbol.

Rename fill_srs_reported_symbol_list into fill_srs_reported_symbol and update input parameter name, since it only fills the information related to one reported symbol
2024-11-29 09:15:03 +01:00
Rúben Soares Silva 4e5b841a16 Separate LTE and NR (n)FAPI headers
Update NR P5 and P7 nFAPI headers to have 32-bit message_length
In the NR functions, this causes the header parameters following message_length to have their position shifted by 2 bytes, due to the increase in message_length size.

Change needed to accommodate SCF222.10.02 Table 3-3

Separates nfapi_p4_p5_message_header_t and nfapi_nr_p4_p5_message_header_t

Change the callbacks signature to accept/return void* intead of expecting a particular header type, being the NR/LTE distinction done inside the callback functions.

Create NR related functions for nFAPI transmit timestamp and checksum calculation.

Move nfapi_p7_codec_config_t and nfapi_p4_p5_codec_config_t to separate header to be shared between LTE and NR VNF/PNF

Move nfapi_nr_timing_info_t into NR header.

Move NR specific function declarations to NR header.
2024-11-29 09:15:03 +01:00
Robert Schmidt dbfb806afa Scheduler: Avoid out-of-bounds read/write
The scheduler might receive PUSCH data when it does not expect it.
Handle this case.
2024-11-29 09:15:03 +01:00
Robert Schmidt a61b5f303d Merge remote-tracking branch 'origin/NR_remove_ul_harq_ra_warning' into integration_2024_w48 (!3133)
NR UL HARQ handling improvements

to avoid printing warning on unexpected HARQ PID for RA
2024-11-28 18:50:20 +01:00
Robert Schmidt 0d63641019 Merge remote-tracking branch 'origin/NR_RR_UE_phy_test_t304' into integration_2024_w48 (!3128)
NR UE RRC T304 in phy-test mode

RRC timer T304 is stopped upon completion of the associated RA handover
procedure. There is no RA procedure in phy-test mode so T304 should not
be started to avoid unwanted expiration.
2024-11-28 18:49:30 +01:00
Robert Schmidt 57c20d891d Merge remote-tracking branch 'origin/NR_gNB_MSG3_fix' into integration_2024_w48 (!3126)
NR MSG3 scheduling improvements

- fix wrong condition on MSG3 allocation assertion message
- remove assertion altogether and handle properly the case where MSG3
  can't be allocated
2024-11-28 18:49:04 +01:00
Robert Schmidt e898d278cc Merge remote-tracking branch 'origin/f1ap-lib-minor-fixes' into integration_2024_w48 (!3117)
F1AP lib: minor fixes

- add new enc/dec functions
- extend copy function scope
- add compile define
- fix equality check
2024-11-28 18:48:36 +01:00
francescomani 31d19ec38d fixes for handle_nr_ul_harq in case of RA
to avoid printing warning on unexpected harq pid
2024-11-28 09:24:10 +01:00
Guido Casati 3dd177bbce Use calloc_or_fail in f1ap_lib_test with the explicit size derived from pointer dereferencing 2024-11-27 10:40:10 +01:00
Guido Casati 0bcf504209 Fix equality check in eq_f1ap_setup_failure 2024-11-27 10:40:10 +01:00
Guido Casati 7ae020599a Add compile definitions ENABLE_TESTS
* this is necessary to enable the PRINT_ERROR logs in the E1/F1 libs
2024-11-27 10:40:10 +01:00
Guido Casati a05084de95 Extend the scope of free_f1ap_cell and use it in stack 2024-11-27 10:40:10 +01:00
Guido Casati 22f3476d88 Use copy_f1ap_served_cell_info in update_cell_info
* tac is optional IE, and it was assumed as always present
* is now allocated in DU container by copy_f1ap_served_cell_info
  when present in the updated cell info and missing in the
  DU container
2024-11-27 10:40:10 +01:00
Guido Casati 40cc035b8c Extend the scope and refactor copy_f1ap_served_cell_info
* allocate memory for pointers only if necessary
* removed redundant copies of simple data types
2024-11-27 10:40:10 +01:00
Guido Casati a394a40d5d Add and use F1 encode function for Transmission Bandwidth and NR Frequency Info in F1 interface management lib 2024-11-27 10:40:10 +01:00
francescomani 5c69623576 remove assertion in MSG3 allocation to handle the unwanted scenario by reschedulng RA 2024-11-27 10:19:21 +01:00
francescomani b398b1bd1d fix MSG3 allocation assertion condition 2024-11-27 10:19:17 +01:00
Guido Casati 927b157714 Add test for E1 Bearer Context Setup Response 2024-11-27 10:18:20 +01:00
Guido Casati 10b07c774d Use enc/dec lib for E1 Bearer Context Setup Response in stack 2024-11-27 10:18:19 +01:00
Guido Casati d56e8a2de1 Add enc/dec library for E1AP Bearer Context Setup Response 2024-11-27 10:17:46 +01:00
Guido Casati ccab22f41f Add test for E1AP Bearer Context Setup Request enc/dec library 2024-11-27 10:17:46 +01:00
Guido Casati 254a0e9ad5 Use E1AP Bearer Context Setup Request enc/dec library in stack 2024-11-27 10:17:46 +01:00
Guido Casati e439a4359c Add enc/dec library for E1AP Bearer Context Setup Request 2024-11-27 10:17:46 +01:00
Guido Casati 2a1f5ac5ed Introduce library for E1AP message encoding/decoding 2024-11-27 10:17:46 +01:00
Guido Casati ac8da484db Replace cell_group_t with CELL_GROUP_ID_t
* simplified number of Cell Group types
2024-11-27 10:17:46 +01:00
Guido Casati aae05e95b9 Use sizeof(in_addr_t) in memcpy of TL uint32_t address 2024-11-27 10:17:46 +01:00
Guido Casati 4829fa0543 Refactor E1AP Bearer Context Setup Request struct members
* cleanup struct members not compliant to specs 3GPP TS 38.463
* add defines whenever necessary
2024-11-27 10:17:46 +01:00
Guido Casati 13d1c34d35 Use one definition of maxnoofDRBs according to 3GPP TS 38.463 (up to 32)
* define E1AP_MAX_NUM_DRBS
2024-11-27 10:17:46 +01:00
francescomani 6c0c27a201 do not start T304 RRC timer at UE for phy-test mode 2024-11-27 10:12:55 +01:00
Jaroslava Fiedlerova 683a39c982 Merge remote-tracking branch 'origin/NR_UE_RRC_Reconfiguration_improvements' into integration_2024_w47 (!2996)
Improvements in handling RRC Reconfiguration at UE
2024-11-26 09:39:44 +01:00
Jaroslava Fiedlerova a9060cd382 Merge remote-tracking branch 'origin/nr-cleanup-includes' into integration_2024_w47 (!2966)
Refactor of includes in gNB/UE for improved header management

This merge request implements changes suggested by the Include What You Use
(IWYU) open source tool to streamline the project’s header file usage.

The adjustments ensure that each file includes only the necessary headers for
the symbols it uses, making the code more efficient and maintainable.
Unnecessary includes have been removed, and missing headers have been added
where required. This improves modularity and reduces inter-dependencies between
files, helping to avoid future build issues caused by unused or missing includes.

Each output has been manually reviewed.

Followed a similar approach as in !2953 (merged).

Affected folders/files:

- NR_MAC_gNB/main.c
- nr-softmodem.c
- unitary simulators: nr_dlsim, nr_ulsim, prachsim
- openair2/RRC/NR
- openair3/NGAP
- openair2/LAYER2/nr_pdcp
- openair2/SDAP/nr_sdap
2024-11-26 09:26:28 +01:00
francescomani 3c6a588ed7 reworking scheduling of SIB other than 1, including storing the information at MAC 2024-11-25 17:23:32 +01:00
francescomani 216c42358b remove unnecessary storage of SIBs structures at RRC 2024-11-25 17:23:27 +01:00
Jaroslava Fiedlerova f36eda1608 Merge remote-tracking branch 'origin/ran-func-no-assert' into integration_2024_w47 (!3122)
Avoid assert on non-implemented SM write callback

The asserts might be used to intentionally stop the running process.
Further, it might be an annoyance if it happen unintentionally. Just
print an error message instead.
2024-11-25 16:41:10 +01:00
Jaroslava Fiedlerova 5b6e16c8e7 Merge remote-tracking branch 'origin/ue-monitoring-stats' into integration_2024_w47 (!2996)
Ue monitoring stats

- one commit to add UE mac stats similar to gNB one and remove a partial
implementation at phy level of some counters
- second commit only rename the two UE persisted HARQ tyepdef names for DL
and for UL (one was saying "UE" but not the direction and the second the
direction but not "UE")
2024-11-25 11:27:22 +01:00
Robert Schmidt 500f37d10e Avoid assert on non-implemented SM write callback
The asserts might be used to intentionally stop the running process.
Further, it might be an annoyance if it happen unintentionally. Just
print an error message instead, and return to FlexRIC that nothing is to
be sent.
2024-11-25 11:02:13 +01:00
francescomani 086ac79830 improvements in handling reconfigurationWithSync 2024-11-25 10:35:05 +01:00