Commit Graph
11563 Commits
Author SHA1 Message Date
Robert Schmidt 0b78a18d47 Merge remote-tracking branch 'origin/sib19-ue-utilization' into integration_2024_w50 (!3019)
SIB19 utilization on UE

Following SIB19 initialization and scheduling on gNB (!2899 - merged)
and Receive SIB19 on nrUE (!2920 - merged), this merge request aims to
introduce the actual use of the SIB19 provided parameters by gNB in UE.
Changes needed for utilization include: initialization of position
coordinates parameters for UE (which are needed to calculate propagation
delay between UE and SAT), propagation delay calculations and timing
advance adjusts. Moreover, this change removes the now unused arguments
for ntn_koffset, ntn_ta_common and ntn_ta_commondrift
2024-12-16 15:26:48 +01:00
Robert Schmidt 85440e2d4e Merge remote-tracking branch 'origin/gtpv1u-data-no-itti' into integration_2024_w50 (!3158)
GTP: use direct call instead of ITTI

Using ITTI calls for user plane implies (1) a memory allocation, (2)
mutexes, and (3) queueing messages for each user plane packet, which is
heavy. Use a direct API call instead to reduce overhead.
2024-12-16 15:25:18 +01:00
Roberto RoscaandRobert Schmidt ef55aaa7c9 Store position coordinates in NR_UE_RRC_INST_t
position_coordinates will be allocated and populated upon receiving SIB19

Co-authored-by: Robert Schmidt <robert.schmidt@openairinterface.org>
2024-12-11 13:01:50 +02:00
Robert Schmidt 3f74749aa6 Simplify position reading 2024-12-11 13:01:50 +02:00
Robert Schmidt 2989bb592b handle position from RRC 2024-12-11 13:01:50 +02:00
Roberto Rosca be618b069e Added message-based communication between L2 and L1 regarding NTN configuration parameters 2024-12-11 13:01:50 +02:00
Roberto Rosca bd7fb492fd Removed SIB19 related UE arguments
- Removed ntn_koffset, ntn_ta_common, ntn_ta_commondrift arguments in order to be used directly from SIB19
   - Removed global NTN_UE_Koffset variable and it's use
   - Introduced getter functions for ntn related parameters
2024-12-11 13:01:42 +02:00
Robert Schmidt 27f1c0db65 Remove GTPV1U_TUNNEL_DATA_REQ ITTI message: it is not used 2024-12-11 10:34:08 +01:00
Robert Schmidt ad9645ffb9 LTE PDCP: Use GTP direct API instead of ITTI
See parent commit for more information.

LTE PDCP uses GTP, so need to link GTP into the corresponding library.
2024-12-11 10:32:18 +01:00
Robert Schmidt 2ffb674d58 F1AP: Use GTP direct API instead of ITTI
See parent commit for more information.
2024-12-11 10:31:52 +01:00
Robert Schmidt 3c5e999f6d SDAP: Use GTP direct API instead of ITTI
Using ITTI calls for user plane implies (1) a memory allocation, (2)
mutexes, and (3) queueing messages for each user plane packet, which is
heavy. Use a direct API call instead to reduce overhead.
2024-12-11 10:31:52 +01:00
Roberto Rosca 486f4f5f96 Adding second layer timing advance
- Renamed position coordinates function (better readability)
   - Introduced large timing advance compensation mechanism
2024-12-11 10:23:11 +02:00
Roberto Rosca f88c47ba3e Adding first layer timing advance
- Added new structure to hold timing advance parameters
   - Made SIB19 related calculation to save to this struct
   - Modified in ra to get ta struct values
2024-12-11 10:20:35 +02:00
Roberto Rosca 698ff73c7f Added SIB19 related calculations on UE 2024-12-11 10:20:34 +02:00
Roberto Rosca 06c0374ec8 Added UE support for position coordinates taken from conf files 2024-12-11 10:20:34 +02:00
Sakthivel Velumani 5ac703b580 Code cleanup
Add const to function input pointer.
2024-12-10 09:50:27 -05: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