Commit Graph
10358 Commits
Author SHA1 Message Date
francescomani 4b019293c6 reset MAC 2023-12-19 18:51:03 +01:00
Robert Schmidt 62773670aa Merge remote-tracking branch 'origin/Fix_Msg4_Ack_not_received' into integration_2023_w50 2023-12-19 13:28:27 +01:00
Robert Schmidt c58382788d Merge remote-tracking branch 'origin/NR_UE_MAC_configuration_further_improvements' into integration_2023_w50 2023-12-19 10:29:57 +01:00
luis_pereira87 3f22837d88 Fix gNB RA procedures when Msg4 Ack not received
When the gNB does not receive PUCCH with Ack for Msg4 we have to consider Msg4 received by the UE, so we need to apply the CellGroupConfig sent to the UE.
There are two scenarios:
1 - The UE never decoded PDSCH for Msg4, the RA will fail because RA Contention Resolution timer, the UE will come with a new RA with new RRCSetupRequest
2 - The UE decoded PDSCH for Msg4, and if SR does not work and no resources for PUSCH, it will trigger RA with MAC CE C-RNTI in Msg3 (so, gNB must be ready for it)
2023-12-19 07:45:44 +00:00
Robert Schmidt 398bdce1e2 Reuse variable, remove error message, do not skip UE 2023-12-18 11:10:13 +01:00
francescomani 60f5b9622c clang formatting and review 2023-12-17 17:28:28 +01:00
okabetakayuki f2c11fc438 fix DoS vulnerability of RA procedure
Signed-off-by: okabetakayuki <okabe_takayuki@jp.fujitsu.com>
2023-12-14 08:50:14 +00:00
francescomani b0dd591932 fixes after CI run 2023-12-12 14:12:48 +01:00
francescomani e25bec6a89 fixes for do-ra mode including moving to sc_info some info non related to a specific BWP 2023-12-12 14:10:10 +01:00
francescomani 78041a2012 rework BWP UE structures including handling of need codes 2023-12-12 14:10:10 +01:00
francescomani ce35b668e4 handle csi-measconfig in sc_info 2023-12-12 14:10:10 +01:00
francescomani 9b9eb6f4e4 common structure for non-BWP servingcell info 2023-12-12 14:06:37 +01:00
francescomani 15aeb34ce1 improvements in config_common_ue 2023-12-12 13:52:37 +01:00
Robert Schmidt 5249dd9670 Merge remote-tracking branch 'origin/NR_UE_SDAP_management' into integration_2023_w49 2023-12-12 09:31:11 +01:00
francescomani d24a3d1a98 SDAP release DRB 2023-12-12 05:56:09 +01:00
Robert Schmidt 6cb52cf2ef Merge remote-tracking branch 'origin/ci-add-fdd-test' into integration_2023_w49 2023-12-12 05:42:42 +01:00
Robert Schmidt 7cd6d36716 Merge remote-tracking branch 'origin/NR_UE_handle_MAC-CellGroupConfig' into integration_2023_w49 2023-12-11 14:56:42 +01:00
francescomani eac9ec0547 handling MAC-CellGroupConfig at MAC UE 2023-12-08 16:15:00 +01:00
Robert Schmidt e161ca227f Merge remote-tracking branch 'origin/Hotfix_swap_UIDs_after_RRCReestablishment' into integration_2023_w49 2023-12-08 13:08:29 +01:00
luis_pereira87 f0df1ccb53 Hotfix: swap UIDs after RRCReestablishment
The CellGroup is created considering UID, for example:
'pucchres0->startingPRB = 8 + uid;' and since we keep the CellGroup from
the previous RNTI/UID we should keep also the previous UID.

Considering the scenario where a UE did successful RRCReestablishment,
it was getting uid = 1, and uid = 0 was removed.
When another UE connected, it was getting UID = 0 (because 0 was already
free), and so the PUCCH 0 resource was conflicting with the first UE.

On that occasion, also correct the comment that describes the code, as
it was wrong/misleading.
2023-12-08 11:09:52 +01:00
Robert Schmidt 4f653c8471 Merge remote-tracking branch 'origin/NR-UE-store-allowed-nssai' into integration_2023_w49 2023-12-08 09:53:23 +01:00
Robert Schmidt 1f0e5bd664 Merge remote-tracking branch 'origin/improvements_f1ap_for_QoS' into integration_2023_w49 2023-12-08 09:53:12 +01:00
Robert Schmidt ff758dd029 Correct number of bands assert in Setup Request decoder 2023-12-07 15:07:38 +01:00
Robert Schmidt 3580ddb546 Merge remote-tracking branch 'origin/Fix_FR2_SSB_ARFCN_scalling' into integration_2023_w48 2023-12-05 07:40:02 +01:00
Robert Schmidt b4b2389753 Merge remote-tracking branch 'origin/ue-fix-ul-first-tx' into integration_2023_w48 2023-12-05 07:39:51 +01:00
Robert Schmidt fecb4bc3a9 Merge remote-tracking branch 'origin/fix-e2-agent' into integration_2023_w48 2023-12-04 17:23:54 +01:00
Robert Schmidt 39468ca98e Merge remote-tracking branch 'origin/NR_RRC_uniform_CSI_period' into integration_2023_w48 2023-12-04 07:56:36 +01:00
Robert Schmidt 581f280cd7 Merge remote-tracking branch 'origin/NR_RLC_remove_LogicalChannelConfig' into integration_2023_w48 2023-12-04 07:56:28 +01:00
Thomas Schlichter aa555f9125 NR_UE: fix calculation of RA_contention_resolution_target_frame when SFN wraps 2023-12-01 16:02:17 +01:00
Thomas Schlichter 6ef5d27c08 NR_UE: fix usage of PUSCH new_data_indicator and cleanup 2023-12-01 16:02:17 +01:00
luis_pereira87 c80fc07719 Fix scaling for FR2
Position of SSB from Point A depends on offsetToPointA and Kssb, and for both, the unit for RB is expressed as 15KHz for FR1 and 60 KHz for FR2, so scaling must be 4 for FR2 frequencies
2023-12-01 14:27:01 +00:00
Sriharsha Korada ed29252c6d F1AP and E1AP interface changes for QoS
- Implement: Extend the F1 encoding and decoding with Qos
- Implement: E1 decoding for QoS
- Fix: Modify the UE_MODIFICATION_REQUEST_MSG towards DU to contain QoS info based on E1AP context response
- Fix: Modify the E1AP and F1AP message structures
- Fill the Qos configuration to send to MAC
2023-11-30 17:41:12 +01:00
Robert Schmidt 8e990850c3 Correctly read node_id (gNB ID) for RRC
The node ID (which corresponds to the gNB ID) should be read in all
cases of execution, not only CU.
2023-11-30 17:10:11 +01:00
Robert Schmidt 72b485a2fe Bugfix: set pointer to NULL after free 2023-11-30 15:45:45 +01:00
Robert Schmidt 39df275fa4 Remove confusing macrlc_has_f1 variable
The macrlc_has_f1 (static) variable was introduced to signal when we use
F1 in the configuration. It is superfluous: the node_type already passes
this information in a unique manner; hence, remove.
2023-11-30 08:06:16 +01:00
Robert Schmidt 41c491a0fa Update E2 Agent submodule: use special FlexRIC commit before v2 2023-11-30 08:06:16 +01:00
Robert Schmidt e13a4813ee E2 Agent: Match UEs based on NSSAI
Correctly match UEs based on the NSSAI in MAC and RRC. There is a
convenience function capture_sst_sd() that extracts SST and SD (which
form the NSSAI). Because a previous version used integers to convey the
slice identifier, this function gracefully handles this case, although
it is not spec-compliant.
2023-11-30 08:06:16 +01:00
Robert Schmidt 89b776925d E2 agent: fix memory leak by not allocating memory
Prior to this commit, the RAN function for KPM is leaking memory: it
allocates using calloc() but never frees it.

The fix consists of not allocating this memory on the heap in the first
place, but on the stack. Therefore, there are changes to pass in a
pointer to various functions to the structure on the stack, instead of
passing the "container" for the heap memory by value.

Further, the MAC was allocating an excessive amount of memory (N times
sizeof(NR_UE_info_t)). Instead of copying the entire struct, the present
code stores a pointer to the MAC UE container (NR_UE_info_t *). For the
RRC, there is a similar simplification that consists in not storing the
entire struct f1_ue_data_t (which is not required), but only the RRC UE
ID.

Note that both MAC and RRC might suffer from race conditions. For the
MAC, we should lock the scheduler for the time we read statistics. For
the RRC, the problem is more delicate as no mutex exists; the RRC
assumes everything is executed synchronously in the ITTI task loop. In
both cases, this commit does not address this problem
2023-11-30 08:06:16 +01:00
Robert Schmidt 5168ef72d9 E2 agent: remove broken NSSAI filtering, simplify code
Filtering UEs by NSSAI is broken, so remove it. A later commit will
reestablish this functionality.

Simplify the code: we only handle one condition, so we can check for it
upfront.
2023-11-30 08:06:16 +01:00
Robert Schmidt 7c6c4fc7d3 Start E2 agent only if configuration present
This commit introduces an additional (implicit) option that signals if
the E2 agent is to be activated or not. When reading the configuration,
we now check if all fields are set, and activate the E2 agent only if
this is the case. If not, we only print a warning and start the gNB
without the agent.

Note that previously, if not all fields are set correctly, the gNB
stopped.

To implement this behavior, it is necessary to change the defaults of
the RIC IP and the directory for SMs to a (non-NULL) default value.
Otherwise, the configuration system would not consider the field to be
set to the default, and wrongly assumes the field is set, even though it
is not; at least, this change is necessary to make config_isparamset()
return NULL if the configuration is not set.
2023-11-30 08:06:16 +01:00
Robert Schmidt 79c920cd81 Introduce separate gNB-CU-UP ID in configuration
3GPP has the concept of a gNB-CU-UP ID and a (separate) gNB ID (for gNB,
CU-CP). This commit introduces the gNB-CU-UP as a separate ID that has to be
set in the configuration file when running as a CU-UP. For the
CU/monolithic gNB, it is optional (but needs to be the same as the
gNB-ID if specified).

The CU-UP ID is necessary, as some entities, e.g., the e2 agent, need to
signal both IDs, e.g., to reconcile a CU-CP and (multiple) CU-UP(s)
belonging together.
2023-11-30 08:06:16 +01:00
Robert Schmidt 6f14b11847 Introduce separate gNB-DU ID in configuration
3GPP has the concept of a gNB-DU ID and a (separate) gNB ID (for gNB,
CU). This commit introduces the gNB-DU as a separate ID that has to be
set in the configuration file. It is necessary, as some entities, e.g.,
the e2 agent, need to signal both IDs, e.g., to reconcile a CU and
(multiple) DU(s) belonging together.
2023-11-30 08:06:16 +01:00
Robert Schmidt ec24b9c3e9 Add License headers to all E2 RAN function files 2023-11-30 08:04:41 +01:00
Robert Schmidt 463115bf19 Remove redundant config code block 2023-11-30 08:04:41 +01:00
Robert Schmidt 6a91f49e9f Fix non-compiling lte-softmodem agent config 2023-11-30 08:04:41 +01:00
francescomani 31740f0d71 setting same periodicity for CSI-RS and CSI report 2023-11-28 12:52:21 +01:00
francescomani 466f753eb0 remove mac_LogicalChannelConfig from RLC (handled at MAC) 2023-11-28 10:46:08 +01:00
Robert Schmidt 728fc34296 Merge remote-tracking branch 'origin/Fix_n_TimingAdvanceOffset' into integration_2023_w47 2023-11-27 17:52:39 +01:00
Robert Schmidt 3e9d310093 Merge remote-tracking branch 'origin/implement_logical_channel_prioritization_ue' into integration_2023_w47 2023-11-24 17:55:45 +01:00
Robert Schmidt 67b0c006f5 Merge remote-tracking branch 'origin/lte-rrc-rel16' into integration_2023_w47 2023-11-24 14:12:26 +01:00