From 466f753eb07c9d5389b010b3a657f6466d4c88f3 Mon Sep 17 00:00:00 2001 From: francescomani Date: Tue, 28 Nov 2023 10:46:08 +0100 Subject: [PATCH] remove mac_LogicalChannelConfig from RLC (handled at MAC) --- openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c | 42 +------------------------ openair2/LAYER2/nr_rlc/nr_rlc_oai_api.h | 2 +- openair2/RRC/NR_UE/rrc_UE.c | 2 +- 3 files changed, 3 insertions(+), 43 deletions(-) diff --git a/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c b/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c index 49df9469ab..383ae37d35 100644 --- a/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c +++ b/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c @@ -647,7 +647,7 @@ void nr_rlc_reestablish_entity(int rnti, int lc_id) nr_rlc_manager_unlock(nr_rlc_ue_manager); } -void nr_rlc_reconfigure_entity(int rnti, int lc_id, struct NR_RLC_Config *rlc_Config, struct NR_LogicalChannelConfig *lc_Config) +void nr_rlc_reconfigure_entity(int rnti, int lc_id, NR_RLC_Config_t *rlc_Config) { nr_rlc_manager_lock(nr_rlc_ue_manager); nr_rlc_ue_t *ue = nr_rlc_manager_get_ue(nr_rlc_ue_manager, rnti); @@ -656,12 +656,6 @@ void nr_rlc_reconfigure_entity(int rnti, int lc_id, struct NR_RLC_Config *rlc_Co LOG_E(RLC, "RLC instance for the given UE was not found \n"); nr_rlc_entity_t *rb = get_rlc_entity_from_lcid(ue, lc_id); - if (lc_Config) { - if (lc_Config->ul_SpecificParameters && lc_Config->ul_SpecificParameters->logicalChannelGroup) - AssertFatal(*lc_Config->ul_SpecificParameters->logicalChannelGroup < 2, - "LCG %ld not supported as per limitation when creating RBs\n", - *lc_Config->ul_SpecificParameters->logicalChannelGroup); - } if (rlc_Config) { AssertFatal(rb->stats.mode != NR_RLC_TM, "Cannot reconfigure TM mode\n"); if (rb->stats.mode == NR_RLC_AM) { @@ -718,9 +712,6 @@ void nr_rlc_reconfigure_entity(int rnti, int lc_id, struct NR_RLC_Config *rlc_Co void nr_rlc_add_srb(int rnti, int srb_id, const NR_RLC_BearerConfig_t *rlc_BearerConfig) { struct NR_RLC_Config *r = rlc_BearerConfig->rlc_Config; - struct NR_LogicalChannelConfig *l = rlc_BearerConfig->mac_LogicalChannelConfig; - int logical_channel_group; - int t_status_prohibit; int t_poll_retransmit; int poll_pdu; @@ -733,17 +724,6 @@ void nr_rlc_add_srb(int rnti, int srb_id, const NR_RLC_BearerConfig_t *rlc_Beare AssertFatal(srb_id > 0 && srb_id < 4, "Invalid srb id %d\n", srb_id); - if (l && l->ul_SpecificParameters && l->ul_SpecificParameters->logicalChannelGroup) - logical_channel_group = *l->ul_SpecificParameters->logicalChannelGroup; - else - logical_channel_group = 0; // default value as in 9.2.1 of 38.331 - - /* TODO: accept other values? */ - if (logical_channel_group != 0) { - LOG_E(RLC, "%s:%d:%s: fatal error\n", __FILE__, __LINE__, __FUNCTION__); - exit(1); - } - if (r && r->present == NR_RLC_Config_PR_am) { struct NR_RLC_Config__am *am; am = r->choice.am; @@ -800,8 +780,6 @@ void nr_rlc_add_srb(int rnti, int srb_id, const NR_RLC_BearerConfig_t *rlc_Beare static void add_drb_am(int rnti, int drb_id, const NR_RLC_BearerConfig_t *rlc_BearerConfig) { struct NR_RLC_Config *r = rlc_BearerConfig->rlc_Config; - struct NR_LogicalChannelConfig *l = rlc_BearerConfig->mac_LogicalChannelConfig; - int logical_channel_group; int t_status_prohibit; int t_poll_retransmit; @@ -814,14 +792,6 @@ static void add_drb_am(int rnti, int drb_id, const NR_RLC_BearerConfig_t *rlc_Be AssertFatal(drb_id > 0 && drb_id <= MAX_DRBS_PER_UE, "Invalid DRB ID %d\n", drb_id); - logical_channel_group = *l->ul_SpecificParameters->logicalChannelGroup; - - /* TODO: accept other values? */ - if (logical_channel_group != 1) { - LOG_E(RLC, "%s:%d:%s: fatal error\n", __FILE__, __LINE__, __FUNCTION__); - //exit(1); - } - switch (r->present) { case NR_RLC_Config_PR_am: { struct NR_RLC_Config__am *am; @@ -875,8 +845,6 @@ static void add_drb_am(int rnti, int drb_id, const NR_RLC_BearerConfig_t *rlc_Be static void add_drb_um(int rnti, int drb_id, const NR_RLC_BearerConfig_t *rlc_BearerConfig) { struct NR_RLC_Config *r = rlc_BearerConfig->rlc_Config; - struct NR_LogicalChannelConfig *l = rlc_BearerConfig->mac_LogicalChannelConfig; - int logical_channel_group; int sn_field_length; int t_reassembly; @@ -884,14 +852,6 @@ static void add_drb_um(int rnti, int drb_id, const NR_RLC_BearerConfig_t *rlc_Be AssertFatal(drb_id > 0 && drb_id <= MAX_DRBS_PER_UE, "Invalid DRB ID %d\n", drb_id); - logical_channel_group = *l->ul_SpecificParameters->logicalChannelGroup; - - /* TODO: accept other values? */ - if (logical_channel_group != 1) { - LOG_E(RLC, "%s:%d:%s: fatal error\n", __FILE__, __LINE__, __FUNCTION__); - exit(1); - } - switch (r->present) { case NR_RLC_Config_PR_um_Bi_Directional: { struct NR_RLC_Config__um_Bi_Directional *um; diff --git a/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.h b/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.h index d8a0d66f00..4f4578ec80 100644 --- a/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.h +++ b/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.h @@ -53,7 +53,7 @@ void nr_rlc_test_trigger_reestablishment(int rnti); void nr_rlc_release_entity(int rnti, logical_chan_id_t channel_id); -void nr_rlc_reconfigure_entity(int rnti, int lc_id, struct NR_RLC_Config *rlc_Config, struct NR_LogicalChannelConfig *lc_Config); +void nr_rlc_reconfigure_entity(int rnti, int lc_id, NR_RLC_Config_t *rlc_Config); int nr_rlc_get_available_tx_space( const rnti_t rntiP, diff --git a/openair2/RRC/NR_UE/rrc_UE.c b/openair2/RRC/NR_UE/rrc_UE.c index d77cfd6a47..ef7d7fb7d1 100644 --- a/openair2/RRC/NR_UE/rrc_UE.c +++ b/openair2/RRC/NR_UE/rrc_UE.c @@ -745,7 +745,7 @@ static void nr_rrc_manage_rlc_bearers(const instance_t instance, if (rrc->active_RLC_entity[lcid]) { if (rlc_bearer->reestablishRLC) nr_rlc_reestablish_entity(rnti, lcid); - nr_rlc_reconfigure_entity(rnti, lcid, rlc_bearer->rlc_Config, rlc_bearer->mac_LogicalChannelConfig); + nr_rlc_reconfigure_entity(rnti, lcid, rlc_bearer->rlc_Config); } else { rrc->active_RLC_entity[lcid] = true; AssertFatal(rlc_bearer->servedRadioBearer, "servedRadioBearer mandatory in case of setup\n");