Commit Graph
1878 Commits
Author SHA1 Message Date
Robert Schmidt e7b971a4af RRC: remove useless/unused variable 2023-09-21 12:49:20 +02:00
Robert Schmidt 3b8c1cd59e Fix memory leak in config_srs() 2023-09-21 12:49:20 +02:00
Robert Schmidt 15c2af2384 get_initial_SpCellConfig(): don't reuse memory
In the case of MIMO, we reused memory to point to the same PUCCH
resource. This is problematic, since ASN_STRUCT_FREE() would try to free
this resource twice.

This commit changes to create distinct memory for the PUCCH resources,
while putting the same configuration to still use the same PUCCH
resource from a radio configuration point of view.
2023-09-21 12:49:20 +02:00
Robert Schmidt a460794792 Delete dead code 2023-09-21 12:49:20 +02:00
Robert Schmidt a1c15da786 Merge remote-tracking branch 'origin/SRBs_set_security_after_reestablishment' into integration_2023_w36 2023-09-08 17:25:23 +02:00
Robert Schmidt 0226dc76cb Merge remote-tracking branch 'origin/develop-prepare-ra' into integration_2023_w36 2023-09-08 15:08:55 +02:00
Robert Schmidt f0923f68fb Merge remote-tracking branch 'origin/int-f1-ue-ctxt-modif-req' into integration_2023_w34 2023-08-29 10:23:34 +02:00
luis_pereira87 2509733678 Set security for all active SRBs after NR_RRCReestablishment 2023-08-25 08:03:08 +01:00
rmagueta 0fb0203c1c Add condition to call or not the function nr_mac_prepare_ra_ue() 2023-08-24 15:59:36 +01:00
Robert Schmidt 9f7e553e3e Merge remote-tracking branch 'origin/fix-gtp-delete' into integration_2023_w34 2023-08-24 16:46:42 +02:00
Robert Schmidt d40db13e2a Make reconfiguration work 2023-08-14 16:25:02 +02:00
Robert Schmidt 6337951182 UE Context Modification Required: add RRC handler 2023-08-14 16:25:02 +02:00
Robert Schmidt e72fa6aa39 Implement F1 handlers 2023-08-14 16:25:01 +02:00
Robert Schmidt 57be09efaf Stubs for F1 UE Context Modification Required/Confirm/Refuse 2023-08-14 16:24:56 +02:00
Robert Schmidt 7fbccc709a Do not trigger RLC bearer establishment from RRC
The RRC should not trigger RLC bearer establishment: this should be done
only via F1, and in the remaining code (removed here), this principle
was violated.

Further, this code was doubly wrong, as it used the CU UE ID for the
RLC, setting up bearers with IDs 1,2,3 etc instead of the RNTI.
2023-08-14 16:24:56 +02:00
Robert Schmidt 979ebdeb42 Implement RRC Reestablishment fallback with RRC Setup 2023-08-12 11:48:17 +02:00
Robert Schmidt 792cd56f63 Cleanup after RRC reestablishment 2023-08-12 11:48:17 +02:00
Robert Schmidt 7a298e73cd Repair reestablishment and make it work via F1
This commit repairs the reestablishment after the introduction of the CU
UE ID in the CU, different from the DU UE ID. Now, the CU uses an
identifier different from the RNTI, used in the MAC, to refer to UEs.

To repair the reestablishment, a number of changes needed to be
introduced:

- Handle old_gNB_DU_UE_id in MAC

The MAC handles the old_gNB_DU_UE_id field in the DL RRC Message. The
commit adds encoding/decoding of the field. The MAC will drop the old
UE, but retain the CellGroup of the corresponding UE(!). Because a UE
releases the spCellGroup on reestablishment, the MAC does the same; it
needs to reapply the old configuration after a reconfiguration. For the
latter, introduce new variables to keep a "future" CellGroupConfig to be
applied (reconfigCellGroup) and a flag (expect_reconfiguration) that
applies the CellGroupConfig if a DL RRC Message transfer on DCCH, which
is assumed to be the reconfiguration.

- Add RNTI change in RLC

The RLC needs to reuse the old UE context. Hence, we simply change the
RNTI in the old context, and delete the new one.

- No PDCP UE ID change

The previous implementation of the PDCP used the RNTI; hence, the ID
needed to be switch (as above for the RLC). Since the PDCP now also uses
the CU UE ID, no identifier change is needed, and we remove all
corresponding code.

- No MAC modifications/update from CU

As foreseen by the spec, the CU does not modify or change the
cellGroupConfig in the RRC during reestablishment. This change will be
generalized in the future to all of the RRC.  Also, the
nr_rrc_mac_remove_ue() function has been removed: the MAC handles any UE
changes autonomeously, without being triggered from the RRC explicitly.

- Remove reestablish_rnti_map

The RRC does not use RNTIs for UE identification. Hence, a
reestablish_rnti_map to link two UEs to each other is not necessary
anymore.
2023-08-12 11:48:17 +02:00
Robert Schmidt 04abbdb668 Implement PDCP reset counters for reestablishment
After a reestablishment, the PDCP sequence number counters have to be
reset. Implement an API to allow the RRC to reset the sequence numbers
for a particular UE in the case of reestablishment
2023-08-12 11:48:17 +02:00
Robert Schmidt 1c07afbeb6 RRC: Remove checks for UEs with existing RNTI
The RRC gives its own RRC UE ID. It won't intervene if DUs assign the same RNTI to different UEs: it simply does not care what the DUs do with the RNTI.
2023-08-11 17:38:12 +02:00
Robert Schmidt 644a5768a3 nrRRC_stats.log: provide info about UE (IDs, RRC state, PDU sessions) 2023-08-11 17:38:12 +02:00
Robert Schmidt 9790246daf Do-ra: write out directly 2023-08-11 17:38:12 +02:00
Robert Schmidt 763a95b12b CU-UP/E1: mirror CU-CP UE ID in CU-UP, clean up messages
- Use the same CU-UP in E1 as in CU-CP: we don't have a separate entity
  to allocate IDs, and we just use the same as the CU-CP
- Correct gNB CU-UP/CP UE IDs in E1AP message types to 32bit
- Set CU UP UE ID explicitly for clarity
- Remove RNTI from E1 messages, E1 does not know what an RNTI is
2023-08-11 17:38:12 +02:00
Robert Schmidt 5c42004e21 RRC: switch to NGAP UE ID as CU UE ID 2023-08-11 17:38:12 +02:00
Robert Schmidt c832b7af91 Configure CU/DU UE IDs in NSA/do-ra/phytest 2023-08-11 17:38:12 +02:00
Robert Schmidt f48d86d7c5 UE Ctxt Release Req/Cmd/Complete 2023-08-11 17:38:12 +02:00
Robert Schmidt d24454ce9a UE Context setup and modif 2023-08-11 17:38:12 +02:00
Robert Schmidt d220ee23e2 UL RRC Message has CU/DU UE IDs 2023-08-11 17:38:12 +02:00
Robert Schmidt 0943891005 Use CU/DU UE ID in DL RRC Message Transfer, manage at DU, refactor
- The CU/DU UE ID is used in DL RRC Message Transfer
- Note: The CU UE ID currently is still the RNTI
- on every DL RRC Message, the DU verifies that the UE exists
- Refactor RRC: common function to forward protected SRB PDUs
2023-08-11 17:38:12 +02:00
Robert Schmidt 0a0f6b7952 Initial UL RRC Message: manage DU UE ID at CU 2023-08-11 17:38:12 +02:00
Robert Schmidt 3e0f07705c Init F1 UE data structs at MAC, RRC & CU-UP 2023-08-11 17:38:12 +02:00
Robert Schmidt 4574a19fc9 Rename primary RRC UE ID gNB_ue_ngap_id to rrc_ue_id
The RRC uses gNB_ue_ngap_id as its primary ID; the following commits
will introduce the usage of the (F1) gNB CU UE ID. This commits renames
the gNB_ue_ngap_id to rrc_ue_id to better reflect its usage as the RRC's
primary UE ID.

It will be used as the NGAP and F1 (CU) UE IDs.
2023-08-11 15:20:47 +02:00
Robert Schmidt c5b9962954 Remove unnecessary dl_rrc_message_transfer_direct() 2023-08-11 15:20:47 +02:00
Robert Schmidt f1cef982f2 Bugfix: DL RRC Message: Allocate RRC Container buf 2023-08-11 15:20:47 +02:00
Robert Schmidt d647a98f65 Make the gNB_ue_ngap_id greater than 0
To avoid 0 in the ID
2023-08-11 15:20:47 +02:00
Robert Schmidt 50bba6b287 Remove useless S1AP definitions in NR RRC 2023-08-11 15:20:47 +02:00
Maud Tribaudeau cb5f3954b6 fix gtp delete. we should not delete all bearer in case of dedicaded bearer release 2023-08-10 10:13:08 +00:00
Robert Schmidt d10eb372ff Merge remote-tracking branch 'origin/bugfix-define-constants' into integration_2023_w30 2023-07-29 07:25:15 +02:00
Cedric Roux a20bfc9695 remove NGAP_MAX_DRBS_PER_UE, replace by MAX_DRBS_PER_UE 2023-07-28 14:03:26 +02:00
Cedric Roux 284b57acbf bugfix: put constants in correct file
The RLC tests were not compiling because of the include of

    openair2/RRC/NR/rrc_gNB_radio_bearers.h

by

    openair2/LAYER2/nr_rlc/nr_rlc_entity.h

which does not seem correct/necessary to start with.

The only thing needed by nr_rlc_entity.h from rrc_gNB_radio_bearers.h
is MAX_DRBS_PER_UE which can be defined in common/platform_constants.h
like NGAP_MAX_PDU_SESSION.
2023-07-28 11:43:48 +02:00
Cedric Roux 325dcf939e remove unused RRC_FIRST_RECONF 2023-07-26 16:26:46 +02:00
Cedric Roux 6c8f7ae17b NR RRC: send "init context setup resp" after receiving reconfig from ue 2023-07-25 11:25:15 +02:00
Robert Schmidt 92ba679bbf Merge remote-tracking branch 'origin/develop-PUCCH2' into integration_2023_w28 2023-07-13 18:47:46 +02:00
laurent 9121541b3c only cleaning 2023-07-10 12:00:25 +02:00
luis_pereira87 4deb58339b Fix multiple PDUSessions after review, now DRBs are configured sequentially, no matter what PDUSession id we receive 2023-07-08 13:15:03 +02:00
laurent 1fdf71e1db Address review comments 2023-07-08 13:14:58 +02:00
luis_pereira87 7e7b3c13f1 Fix multiple PDUSessions 2023-07-08 13:14:06 +02:00
Laurent THOMAS ed7b675330 remove redundant copies of pdu sessions list 2023-07-08 13:14:06 +02:00
rmagueta f35d613f7d Decrease maxCodeRate of PUCCH2 2023-07-03 11:40:35 +01:00
Robert Schmidt 7d9b4db580 Correctly copy in_addr for GTP F1 tunnel update 2023-06-26 11:23:52 +02:00