Commit Graph
10581 Commits
Author SHA1 Message Date
Robert Schmidt a724dfba4f Merge remote-tracking branch 'origin/e1-reestablishment' into integration_2024_w09 2024-03-04 08:45:47 +01:00
Jaroslava Fiedlerova 28e13fc6ac Merge remote-tracking branch 'origin/avoid_clash_asn1_oai_flr' into integration_2024_w09 2024-03-01 11:57:01 +01:00
Jaroslava Fiedlerova 2a35d5c2f9 Merge remote-tracking branch 'origin/Harmonize_RA_RNTI' into integration_2024_w09 2024-03-01 11:56:38 +01:00
Jaroslava Fiedlerova 01722ff8fa Merge remote-tracking branch 'origin/740-pdcp-handle-sdap-header' into integration_2024_w09 2024-03-01 10:07:40 +01:00
Guido Casati ffd176e9d5 Minor fixes, comments, Clang formatting
- comments to improve readability of the code
- Clang formatting of E1 / RRC (partial)
2024-03-01 09:48:42 +01:00
Guido Casati 2a078c757b E1 Reestablishment
- PDCP reestablishment on CUCP (DRBs) triggering Bearer Context Modification procedures over E1
- Performing PDCP reestablishment for requested DRBs on CUUP
- Introduced function to notify re-establishment to CU-UP
- removed call to PDCP reestablishment for the DRBs on CUCP (it's done on CUUP)

cuup_notify_reestablishment:

- to fetch PDU session to setup in E1 following logic as in e1_send_bearer_updates
- fill bearer context modification request with stored F1-U tunnel information
  during E1 reestablishment, otherwise it would initialized to 0 by default
- update GTP tunnel with the stored configuration after E1 reestablishment
2024-03-01 09:48:35 +01:00
Jaroslava Fiedlerova cd5209a782 Merge remote-tracking branch 'origin/fix_fr2_ssb_start_subcarrier' into integration_2024_w09 2024-03-01 09:48:27 +01:00
Guido Casati c83ff4c388 Store F1-U downlink TL and TEID
- info coming from UE context setup/modification response messages in RRC
2024-03-01 09:45:50 +01:00
Jaroslava Fiedlerova 4ae0fd09f1 Merge remote-tracking branch 'origin/prb_alloc_issue' into integration_2024_w09 2024-03-01 09:44:53 +01:00
vijay chadachan 3efb5b3657 Fixed for the PRB allocation issue assert in DLSCH scheduler
The following ASSERT is tirggered while testing 16 UE setup.

Assertion (NPRB>0 && (NPRB + RBstart <= BWPsize)) failed!
In PRBalloc_to_locationandbandwidth0() /home/ran/common/utils/nr/nr_common.c:286
Illegal NPRB/RBstart Configuration (1,48) for BWPsize 48

Corrected the get_start_stop_allocation calculation to fix the issue.
The implementation was wrong. The rbstop shall be the last rb that could
be allocated. Also the following two conditions are taken care

rbStart needs to be strictly smaller than rbStop

rbStart+rbSize needs to be smaller or equal to rbStop

The problem was that we confounded both conditions, so rbStart could
be equal to rbStop, which then leads to one PRB being allocated at the end.
Setting rbStop to BWPsize - 1 and making sure the above two conditions are
true does not make it lead to wrong allocations anymore.
2024-02-28 19:19:18 +01:00
Robert Schmidt b1f9e9d57a Reestablishment: preserve additional secondaryUE data
The previous code removed the "secondary UE" data (about DU association,
DU UE ID, associated CU UP), and only filled the F1-related data. In
other words, the associated CU-UP was lost. This commit reworks this
piece of code to retrieve old data, and update the relevant data without
destroying other.
2024-02-28 11:58:59 +01:00
Guido Casati b6087da1b2 Separated E1 Bearer Context Setup from Modification procedures
- many structs and definitions are overlapping between the two different E1 procedures
- introduced naming specific to E1 Bearer Context Modification to improve readability
- grouped SDAP and PDCP configuration IEs for better reusability and readability
- introduced functions to set and get default PDCP config (DRBs and Bearer Contexts)

find_or_next_pdu_session:
- find_or_next_pdu_session refers to the E1 Bearer Context Modification Request
-- therefore it has to return pdu_session_to_mod_t* and takes in input e1ap_bearer_mod_req_t *

see !MR2545 for more context
2024-02-28 11:58:42 +01:00
Guido Casati f392158c40 Removed redundant definition for max SRBs number (used in RRC procedures)
- according to specs, in NR there are 4 SRBs
- in OAI the relevant define is used in the RRC procedures
- this commit harmonizes code by removing redundancy
2024-02-28 11:14:00 +01:00
Guido Casati ea0185f84e Introduced define for uint8_t integrity and ciphering keys data structures
- the goal is to improve maintanability
2024-02-28 11:14:00 +01:00
mir 1b237f6abe Fix name clashes between OAI and E2 Agent generated by the linker 2024-02-26 09:57:51 +01:00
Ajit Singh 10a6ce8bdd Bugfix in PDCP when SDAP is enabled. Passing only data for chipering. 2024-02-25 05:59:41 +05:30
Raphael Defosseux 072d65a50e Merge remote-tracking branch 'origin/NR_UE_contention_resolution_timer' into integration_2024_w08 2024-02-23 10:25:38 +01:00
Raphael Defosseux ca2b0693fb Merge remote-tracking branch 'origin/NR_UE_fix_cset0_ss0' into integration_2024_w08 2024-02-23 10:14:16 +01:00
Raphael Defosseux 7337ae8664 Merge remote-tracking branch 'origin/NR_UE_RRC_improvements' into integration_2024_w08 2024-02-23 10:08:42 +01:00
Raphael Defosseux 3972cd44d6 Merge remote-tracking branch 'origin/NR_UE_maxmimo_layers' into integration_2024_w08 2024-02-23 10:08:15 +01:00
Nuno Domingues ff7c960b2c Harmonize computation of RA-RNTI 2024-02-16 18:04:57 +00:00
francescomani 16c82f2598 set cset0 and ss0 independently from BWP in generic MAC structure at UE 2024-02-15 16:32:45 +01:00
francescomani df739aa590 tick for MAC timers (applied to RA contention resolution) 2024-02-14 16:35:49 +01:00
luis_pereira87 3d8b38f7e6 Fix FR2 SSB start subcarrier and SSB frequency at gNB
for FR2 offsetToPointA is expressed in terms of 60 kHz SCS and k_SSB expressed in terms of the subcarrier spacing provided by the higher-layer parameter subCarrierSpacingCommon
2024-02-14 13:13:42 +00:00
luis_pereira87 9f315932d0 Fix CI runtime errors
Fix for CI runtime error: left shift of 1 by 31 places cannot be represented in type 'int'

Fix for CI runtime error: left shift of 128 by 24 places cannot be represented in type 'int'
2024-02-14 11:17:09 +00:00
Robert Schmidt 713c84e4d4 Merge remote-tracking branch 'origin/stability-7.2-improv' into integration_2024_w06 2024-02-13 19:28:02 +01:00
Robert Schmidt 9890410a18 Merge remote-tracking branch 'origin/l1_tx_thread' into integration_2024_w06 2024-02-13 19:28:02 +01:00
Robert Schmidt d01c147014 Merge remote-tracking branch 'origin/NR_PSBCH_MERGE2' into integration_2024_w06 2024-02-13 19:28:02 +01:00
Robert Schmidt f04e5d97fa Merge remote-tracking branch 'origin/NR_UE_use_MAC_pointer_internally' into integration_2024_w06 2024-02-13 10:42:55 +01:00
Raghavendra Dinavahi 4d411dbce3 Sidelink configuration passed from RRC->MAC, defined interface functions
- Phy configuration will be prepared by MAC
	- Sidelink preconfiguration parameters passed from RRC->MAC
	- Only 1 SSB TA allocation used
	- psbch payload prepared by MAC after receiving the tx slss req
2024-02-12 12:57:01 +01:00
Raymond Knoppandkiran d52b81798b Introduce separate thread to handle gNB TX processing
This commit introduces a separate thread (l1_tx_thread) that processes
gNB DL/TX slots. It receives a message from the ru_thread when a new
slot started, and starts processing.

The DL part of the scheduler is run in the l1_tx_thread.  Therefore,
only call UL indication (for scheduler) in UL slots.  The UL indication
previously triggered the DL scheduler -- hence, it had to be called in
every slot. Now, since the DL scheduler is moved into the DL thread, we
don't have to call the scheduler in every slot anymore.

The reorder thread is removed, as reordering with this scheme is not
necessary anymore.

The main advantage of this version is that the TX can be scheduled
earlier (sl_ahead). Further, there can no longer be race conditions in
the TX path, since the scheduler/L2, TX L1 processing and the RU tx
function are all execute in the same thread (L1_tX_thread).

Also, the scheduler prepares PRACH/PUSCH/PUCCH FAPI PDUs. As of this
commit, the scheduler runs in the TX processing chain, whereas these
PDUs are destined for RX processing.  Thus, too avoid data races,
instead of triggering the RX processing at the same time as TX
processing in the RU thread, this commit changes the code to trigger RX
processing after the scheduler has been run in TX processing to avoid
data races.

Finally, we synchronize RU and L1 threads. This is important for
rfsimulator, since unlike most radios, rfsimulator can run slower or
faster, depending on I/O and CPU (it does not have a stable "tick").

Co-authored-by: kiran <saikiran@iitj.ac.in>
2024-02-12 12:04:55 +01:00
Robert Schmidt 88852dc9af Introduce slot indication tick to run (DL) scheduler
The next commit introduces a separate gNB TX processing thread. To
properly separate DL scheduler (for scheduling decisions) from UL
indication handling (for UL packets), this commit introduces a slot
indication "tick" to run the DL scheduler which will be put into the gNB
TX processing chain instead of the UL indication.
2024-02-12 11:25:26 +01:00
Robert Schmidt d5f11902b7 Handle PUCCH frame/slot mismatches gracefully
For different reasons, the frame/slot numbers might jump (e.g., gNB and
RU machines not properly synced). The scheduler would assert for PUCCH
allocations. Handle this gracefully by printing an error message, and
resetting the PUCCH structure.
2024-02-09 13:38:12 +01:00
Jaroslava Fiedlerova 223c63826d Merge remote-tracking branch 'origin/handle_issue_730' into integration_2024_w06 2024-02-09 12:39:03 +01:00
Jaroslava Fiedlerova c3e7cb7e35 Merge remote-tracking branch 'origin/update-rc-sm' into integration_2024_w06 2024-02-09 12:37:12 +01:00
Raymond Knopp 4f7464d010 Print additional information if TBS is too small for SIB1 2024-02-09 12:15:52 +01:00
Jaroslava Fiedlerova 638acd6040 Merge remote-tracking branch 'origin/NR_UE_msg3_buffer' into integration_2024_w06 2024-02-09 12:07:48 +01:00
francescomani f3c61b12fe remove pointer to logicalChannelConfig in LC ordered info and store actual values in the list 2024-02-08 15:16:56 +01:00
francescomani 29ddb924e3 do not call RCconfig_NR_L1 twice in monolithic mode 2024-02-08 13:59:28 +01:00
francescomani c093e4ed4f reworking configuration of LogicalChannelConfig at MAC UE 2024-02-08 13:19:48 +01:00
Teodora 1675e6e155 Update FlexRIC commit and E2AP README 2024-02-07 17:19:18 +01:00
Teodora d7ff30db55 Enable multiple RC subscriptions
- create hash table to save ric_req_id (key) and array of ran_param_id(s) (values), per each subscription
  - create RB tree to store list of ric_req_id(s) for each ran_param_id
    => when the async event occurs, it is easier and faster to search per ran_param_id and send the indication message to all xApps (ric_req_id(s)) subscribed to the same ran_param_id
  - it is important to mention that both data structures need to be maintained, especially when unsubscription occurs (free_aperiodic_subscription)
2024-02-07 15:14:27 +01:00
Teodora 3cc3bbbabc Support RC aperiodic subscription
- subscribe to "UE RRC State Change" RAN Parameter ID
  - expected asynchronous events from E2 node
2024-02-07 14:32:23 +01:00
Raymond Knopp bb044cf940 Update logs to NR_ version and add some new 2024-02-06 16:03:56 +01:00
Jaroslava Fiedlerova 3b2355ce4c Merge remote-tracking branch 'origin/fix-ra-reduce-logs' into integration_2024_w05 2024-02-05 13:27:12 +01:00
Jaroslava Fiedlerova 3de71d11bf Merge remote-tracking branch 'origin/pdu-session-initial-setup' into integration_2024_w05 2024-02-05 09:27:10 +01:00
Jaroslava Fiedlerova 9af66c9ec6 Merge remote-tracking branch 'origin/NR_UE_fix_no_mcs_dci_failed_detection' into integration_2024_w05 2024-02-05 09:23:52 +01:00
Jaroslava Fiedlerova 905fb9b6fd Merge remote-tracking branch 'origin/fix_computing_ssb_subcarrier_offset' into integration_2024_w05 2024-02-05 09:21:16 +01:00
francescomani 58ea7357f8 add option to configure max MIMO layers for PUSCH TBSLBRM computation from UE capabilities 2024-02-04 11:09:58 +01:00
francescomani df867e533f formatting 2024-02-04 11:02:58 +01:00