From 72f40e6fb1dee33ecfdab78adcd753c5492a4e5e Mon Sep 17 00:00:00 2001 From: luis_pereira87 Date: Tue, 19 Apr 2022 17:04:05 +0100 Subject: [PATCH] Add definition for some rrc processing delays --- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c | 2 +- openair2/RRC/NR/nr_rrc_defs.h | 4 +++- openair2/RRC/NR/rrc_gNB.c | 10 +++++----- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c index c76e6d238a..32e1a238f0 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c @@ -1952,7 +1952,7 @@ void nr_check_Msg4_Ack(module_id_t module_id, int CC_id, frame_t frame, sub_fram RC.nrmac[module_id]->common_channels[0].ServingCellConfigCommon, sib1); // 3GPP TS 38.331 Section 12 Table 12.1-1: UE performance requirements for RRC procedures for UEs - sched_ctrl->rrc_processing_timer = (10 << genericParameters->subcarrierSpacing); // RRCSetup 10 ms + sched_ctrl->rrc_processing_timer = (NR_RRC_SETUP_DELAY_MS << genericParameters->subcarrierSpacing); // RRCSetup 10 ms } else { LOG_I(NR_MAC, "(ue %i, rnti 0x%04x) RA Procedure failed at Msg4!\n", UE_id, ra->rnti); diff --git a/openair2/RRC/NR/nr_rrc_defs.h b/openair2/RRC/NR/nr_rrc_defs.h index 268168750c..5cc3157bce 100644 --- a/openair2/RRC/NR/nr_rrc_defs.h +++ b/openair2/RRC/NR/nr_rrc_defs.h @@ -97,7 +97,9 @@ typedef struct nr_uid_linear_allocator_s { #define PROTOCOL_NR_RRC_CTXT_ARGS(CTXT_Pp) PROTOCOL_NR_CTXT_ARGS(CTXT_Pp) // 3GPP TS 38.331 Section 12 Table 12.1-1: UE performance requirements for RRC procedures for UEs -#define NR_RRC_PROCESSING_DELAY_MS 10 +#define NR_RRC_SETUP_DELAY_MS 10 +#define NR_RRC_RECONFIGURATION_DELAY_MS 10 +#define NR_RRC_BWP_SWITCHING_DELAY_MS 6 #define NR_UE_MODULE_INVALID ((module_id_t) ~0) // FIXME attention! depends on type uint8_t!!! #define NR_UE_INDEX_INVALID ((module_id_t) ~0) // FIXME attention! depends on type uint8_t!!! used to be -1 diff --git a/openair2/RRC/NR/rrc_gNB.c b/openair2/RRC/NR/rrc_gNB.c index a7e6e49052..0670765d1b 100755 --- a/openair2/RRC/NR/rrc_gNB.c +++ b/openair2/RRC/NR/rrc_gNB.c @@ -744,7 +744,7 @@ rrc_gNB_generate_defaultRRCReconfiguration( 0, ue_context_pP->ue_context.rnti, NULL, - NR_RRC_PROCESSING_DELAY_MS); + NR_RRC_RECONFIGURATION_DELAY_MS); /* Free all NAS PDUs */ for (int i = 0; i < ue_context_pP->ue_context.nb_of_pdusessions; i++) { @@ -1024,7 +1024,7 @@ rrc_gNB_generate_dedicatedRRCReconfiguration( 0, ue_context_pP->ue_context.rnti, NULL, - NR_RRC_PROCESSING_DELAY_MS); + NR_RRC_RECONFIGURATION_DELAY_MS); /* Free all NAS PDUs */ for (i = 0; i < ue_context_pP->ue_context.nb_of_pdusessions; i++) { @@ -1211,7 +1211,7 @@ rrc_gNB_modify_dedicatedRRCReconfiguration( 0, ue_context_pP->ue_context.rnti, NULL, - NR_RRC_PROCESSING_DELAY_MS); + NR_RRC_RECONFIGURATION_DELAY_MS); /* Free all NAS PDUs */ for (i = 0; i < ue_context_pP->ue_context.nb_of_modify_pdusessions; i++) { @@ -1329,7 +1329,7 @@ rrc_gNB_generate_dedicatedRRCReconfiguration_release( 0, ue_context_pP->ue_context.rnti, NULL, - NR_RRC_PROCESSING_DELAY_MS); + NR_RRC_RECONFIGURATION_DELAY_MS); /* Free all NAS PDUs */ if (nas_length > 0) { @@ -1894,7 +1894,7 @@ rrc_gNB_process_RRCConnectionReestablishmentComplete( 0, ue_context_pP->ue_context.rnti, NULL, - NR_RRC_PROCESSING_DELAY_MS); + NR_RRC_RECONFIGURATION_DELAY_MS); /* Free all NAS PDUs */ for (i = 0; i < ue_context_pP->ue_context.nb_of_pdusessions; i++) {