Commit Graph
3484 Commits
Author SHA1 Message Date
Robert Schmidt 9d6de3b511 Merge remote-tracking branch 'origin/int-f1-ue-ids' into integration_2023_w32 2023-08-12 11:49:40 +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
Robert Schmidt 9f45f1d769 Deprecate NR-UE --rrc_config_path, use --r{e,b}config-file instead
Config options --reconfig_file and --rbconfig-file have been introduced
to modify the filenames of reconfig.raw and rbconfig.raw (e.g., in the
case of multiple UEs). These filen*ames* were to be prepended with
--rrc_config_path to set the path. In summary, three options were
necessary, when two are sufficient.

In this commit, change to the options --reconfig-file and
--rbconfig-file (slight change for harmonization with other options,
which mostly use dashes) to give the full path to the corresponding
files, and avoid to surprise users who would not expect to have three
options.

--rrc_config_path has been deprecated and an error will be printed if a
user attempts to use it.
2023-08-09 17:32:45 +02:00
Sagar Parsawar f64179039e Applied clang formatting 2023-08-08 18:35:05 +02:00
Sagar Parsawar 3f6ed8d14a Fix for multiple gNB SSB decode in UE phy-test mode 2023-08-08 18:29:14 +02:00
Robert Schmidt 00deb998f4 Merge remote-tracking branch 'origin/NR_UE_RRC_SIB_fixes' into integration_2023_w31 2023-08-07 10:27:07 +02:00
francescomani f934f4c491 RRC processing frame instead of slot for timers 2023-08-01 15:07:37 +02:00
francescomani bef00a7082 removing functions to get/set RRC state (it's easier to do it directly) 2023-07-31 19:25:36 +02:00
Laurent THOMAS cef099d312 remove useless rrc sub state 2023-07-31 19:06:03 +02:00
Robert Schmidt d10eb372ff Merge remote-tracking branch 'origin/bugfix-define-constants' into integration_2023_w30 2023-07-29 07:25:15 +02:00
Robert Schmidt e188faa377 Merge remote-tracking branch 'origin/NR_UE_SIB1_outside_of_initial_sync' into integration_2023_w30 2023-07-29 07:24:10 +02:00
Robert Schmidt cb9dbb6591 Merge remote-tracking branch 'origin/NR_UE_otherSI_improv' into integration_2023_w30 2023-07-29 07:23:26 +02:00
Robert Schmidt 56f0b708ed Merge remote-tracking branch 'origin/NR_SL_RRC' into integration_2023_w30 2023-07-29 07:23:06 +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
francescomani 96e6256d64 improve handling of default SIBs 2023-07-27 11:21:38 +02:00
francescomani 44bc3e7cce taking sib1 detection out of initial sync 2023-07-27 11:11:09 +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
francescomani f65ce8c4fa handle BCH indication 2023-07-24 09:46:37 +02:00
Raghavendra Dinavahi 1b98628755 Changes 2023-07-23 10:36:16 +02:00
Raghavendra Dinavahi 238c2f5a35 Changes to the SL-Preconfig preparation 2023-07-19 10:54:51 +02:00
Raghavendra Dinavahi 4b51859b88 Enabling configuration files read for SL-Preconfig
- for example when running nr-uesoftmodem with sidelink
	  use "-O ../../../targets/PROJECTS/NR-SIDELINK/CONF/sidelink_preconfig_1rxpool_1txpool.conf"
2023-07-19 10:54:51 +02:00
Raghavendra Dinavahi daf8e3732f Preparation of NR Sidelink Pre-Configuration message 2023-07-19 10:54:51 +02:00
Robert Schmidt 92ba679bbf Merge remote-tracking branch 'origin/develop-PUCCH2' into integration_2023_w28 2023-07-13 18:47:46 +02:00
Robert Schmidt 70475fecec Merge remote-tracking branch 'origin/NR_UE_RRC_handle_otherSI' into integration_2023_w28 2023-07-13 16:59:49 +02:00
francescomani b4734211f0 fixes to make RRC decode SI 2023-07-10 18:26:06 +02:00
francescomani 924be4edf9 monitor DCI for other SI 2023-07-10 18:26:06 +02:00
francescomani 6d0ae249bc handling SIB other than SIB1 at UE RRC 2023-07-10 18:26:06 +02:00
laurent 9121541b3c only cleaning 2023-07-10 12:00:25 +02:00