Commit Graph
3623 Commits
Author SHA1 Message Date
sriharsha f248b2fdff fix: avoid freeing rlc config structure 2023-11-16 09:07:05 +01:00
Robert Schmidt 23597c9193 Merge remote-tracking branch 'origin/f1-multiple-du' into integration_2023_w44 2023-11-13 16:23:58 +01:00
Robert Schmidt b07691643d Merge remote-tracking branch 'origin/f1-bwp-switching' into integration_2023_w44 2023-11-13 15:10:27 +01:00
Robert Schmidt 0c51db05ad Merge remote-tracking branch 'origin/UE-rrc-coarse-cleaning' into integration_2023_w44 2023-11-13 15:10:20 +01:00
Robert Schmidt 610a886da7 Merge remote-tracking branch 'origin/multi-config' into integration_2023_w44 2023-11-12 05:14:36 +01:00
Laurent THOMAS dd059343d9 ue-rrc-coarse-cleaning 2023-11-10 17:43:59 +01:00
Robert Schmidt 8e4ff595a0 Merge remote-tracking branch 'origin/fix-no-f1uedata-when-in-mac' into integration_2023_w44 2023-11-10 17:29:28 +01:00
rmagueta 8551260243 Clean up previous BWP switching implementation that was not F1 compliant 2023-11-10 16:01:33 +01:00
Robert Schmidt 96dfb44ae7 Print DU information in periodic RRC stats printing 2023-11-10 15:29:45 +01:00
Robert Schmidt 59a25c48ff RRC UE context lookup by RNTI: use assoc_id 2023-11-10 15:29:45 +01:00
Robert Schmidt 97d574229d Check PCI/nrCellID non-overlapping 2023-11-10 15:29:38 +01:00
Robert Schmidt 7c4ec50e23 PLMN check F1 Setup: cellId does not necessarily match
Multiple DUs host cells, whose cell ID cannot match (to identify them
uniquely). Hence, don't check for equality with CU, because otherwise,
we can never connect multiple DUs.
2023-11-10 15:29:38 +01:00
Laurent THOMAS f50d5f5a9b make multiple config instead of one implicit global 2023-11-10 10:23:11 +01:00
Robert Schmidt c812cea143 Multiple DUs in a tree 2023-11-08 10:18:52 +01:00
Robert Schmidt e155080ece Assoc ID CU->DU 2023-11-08 10:18:52 +01:00
Robert Schmidt a377e5231c Set UE DU assoc_id to 0 on DU disconnect
An assoc_id of 0 is used to mark UEs whose DU is "offline" (not
connected). In this patch, if a DU disconnects, we go through all UEs
and set their assoc_id to 0 if they belong to a UE that just went
offline.
2023-11-08 10:18:52 +01:00
Robert Schmidt e5684d217c Assoc ID DU->CU 2023-11-08 10:18:52 +01:00
Robert Schmidt 843a1dc0a3 Introduce lookup functions for DUs 2023-11-08 10:18:52 +01:00
Robert Schmidt 1af4e81951 Paging: not fully implemented, make clear is dummy 2023-11-08 10:18:52 +01:00
Robert Schmidt 8cdb23639b Bugfix: on reestablishment, save new gNB DU UE ID, not RNTI 2023-11-08 10:18:52 +01:00
Robert Schmidt 3a5cff17d7 Combine rrc_gNB_process_initial_ul_rrc_message() and nr_rrc_gNB_decode_ccch() 2023-11-08 10:18:52 +01:00
Robert Schmidt 9a092c1433 Put rrcSetupRequest/rrcReestablishmentRequest handling in separate functions 2023-11-08 10:18:52 +01:00
Robert Schmidt 1153e62e45 Move rrc gNB DU handling to separate file 2023-11-08 10:18:52 +01:00
Robert Schmidt c00b287c60 Remove RRC UE context printing that depends on DU
This code printed BW masks (what is this) and number of MIMO layers. It
was dependent on the current DU, and only showed the information for the
current DU config (SCS, band). On DU disconnect, it leads to segfaults
to this dependency, and IMO is not useful in itself (it could rather be
printed when receiving the UE capabilities, for all bands etc.).
2023-11-08 10:18:52 +01:00
Robert Schmidt 31ed25acd7 Only print UE caps if DU available
The DU UE capability printing depends on data on SCS and band, which
currently is only stored with the DU. To avoid any assert, we check
that the DU is present. A follow-up commit will rework this.
2023-11-04 16:37:59 +01:00
Sakthivel Velumani f381e93237 Set NSSAI config in MAC
Each active LCID at MAC is configured with NSSAI that is sent from AMF with PDU session setup request
2023-10-31 16:12:10 -04:00
Sakthivel Velumani 89fa5a18a8 Pass the NSSAI config via E1 2023-10-31 13:31:32 -04:00
Sakthivel Velumani 279a55c976 Save NSSAI params from AMF
The NSSAI of PDU sessions coming from AMF are stored in RRC to be sent to lower layers
2023-10-31 12:41:50 -04:00
Robert Schmidt 7420de8fc9 Merge remote-tracking branch 'origin/fix-doxygen' into integration_2023_w43 2023-10-30 10:23:45 +01:00
Robert Schmidt 57f0cb134c Merge remote-tracking branch 'origin/fix-cellconfig-segv' into integration_2023_w43 2023-10-30 10:22:23 +01:00
Robert Schmidt a828da1b3f Merge remote-tracking branch 'origin/itti-no-threads' into integration_2023_w43 2023-10-30 10:22:16 +01:00
Robert Schmidt fa5c4d3a4c Fix SDAP: correct ID, set default
- Set the correct QoS flow ID to associate a correct QoS flow to the
  bearer: the UE would misassociate otherwise
- Set the DRB as the default: the handler applies bool with true==1, so
  use bool value
2023-10-30 08:47:33 +01:00
Laurent THOMAS a198239084 Introduce no-thread mode in ITTI
Introduce a --no-itti-threads command line option to disable threading
in ITTI, and call message handlers in the current thread. This is being
introduced in order to increase repeatability when testing the nrUE with
the IQPlayer. Without this feature, runs with the IQPlayer will end up
differently, depending on the timing of ITTI threads, mostly when
sending messages to RRC and NAS.
2023-10-27 13:02:36 +02:00
Robert Schmidt 7317efea00 Clone pusch_Config to prevent double free 2023-10-27 10:52:52 +02:00
Robert Schmidt 10a0a52604 Allocate second but same coreset to prevent double-free 2023-10-27 10:52:52 +02:00
Robert Schmidt 90bb405e0d Deep-copy PDCCH ConfigCommon for SIB1
Until this commit, the SIB1's PDCCH_configCommon was set (via a pointer,
i.e., an indirection) to the one of the ServingCellConfigCommon (SCC).
Afterwards, the SIB1 code further populated this PDCCH configCommon,
indirectly populating the one of the the SCC, on which code later
depends.

Not only did this create possibilities for double-frees (since freeing
the memory of SIB1, then SCC would free the PDCCH configcommon twice),
but also it makes it harder to track where certain structures are
populated. Hence, this commit solves both issues:

- The SCC is correctly populated on initialization of the SCC
- The SIB1 makes a deep copy of the SCC' PDCCH configCommon

This resolves the two issues above.
2023-10-27 10:52:52 +02:00
Robert Schmidt d1740c9d8e Deep-copy PDSCH_ConfigCommon to prevent double-free 2023-10-27 10:36:33 +02:00
Robert Schmidt 8062af94b5 Deep-copy RACH_ConfigCommont to prevent double-free 2023-10-27 10:36:10 +02:00
Robert Schmidt d442e21f3c Deep-copy PUSCH&PUCCH_ConfigCommon to prevent double-free 2023-10-27 10:35:26 +02:00
Robert Schmidt a87cad57b7 Fix: correct SD index 2023-10-27 10:34:53 +02:00
Robert Schmidt 38a6e92fdf Deep-copy genericParameters to prevent double-free 2023-10-27 10:22:55 +02:00
Robert Schmidt d4cc2c8597 Deep-copy asn1c structures to prevent double free 2023-10-27 10:22:55 +02:00
Robert Schmidt 2dc36ffcf7 Initialize struct on stack
Not initalizing this struct makes asn1c free the memory incorrectly,
leading to a segfault.
2023-10-27 10:22:55 +02:00
Robert Schmidt eb475f7747 Remove useless warning 2023-10-27 09:07:51 +02:00
Robert Schmidt 2e252dd377 Implement E1 bearer release 2023-10-27 09:07:51 +02:00
Robert Schmidt ec60fd8157 E1 bearer modification: harmonize code 2023-10-27 09:07:51 +02:00
Robert Schmidt 380151faa7 E1 Bearer Context Setup Request: harmonize code
- harmonize monolithic and E1AP case
- use ITTI message to send bearer context setup response to RRC
2023-10-27 09:07:51 +02:00
Robert Schmidt 0a6998db4b Select CU-UP based on slice 2023-10-27 09:07:51 +02:00
Laurent THOMAS bba9aac079 fix most of doxygen warnings and errors 2023-10-26 16:47:19 +02:00
Robert Schmidt e07a741ee0 Handle multiple CU-UPs in one CU-CP
This commit introduces the capability to handle multiple CU-UPs. It uses
a RB tree and puts the CU-UPs into the tree. Upon the connection, it
associates UEs to CU-UPs in a round-robin fashion.
2023-10-25 20:22:32 +02:00