From 31192141240f55412b55b8b84c64ea5a76bbdd8f Mon Sep 17 00:00:00 2001 From: Francisco Paisana Date: Mon, 27 Sep 2021 12:49:48 +0200 Subject: [PATCH] nr,rrc: defer drb activation in NR to when the C-RNTI is received --- srsenb/src/stack/mac/nr/mac_nr.cc | 1 - srsenb/src/stack/rrc/rrc_nr.cc | 10 +++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/srsenb/src/stack/mac/nr/mac_nr.cc b/srsenb/src/stack/mac/nr/mac_nr.cc index 0b45e3c65..44017dd9e 100644 --- a/srsenb/src/stack/mac/nr/mac_nr.cc +++ b/srsenb/src/stack/mac/nr/mac_nr.cc @@ -139,7 +139,6 @@ uint16_t mac_nr::reserve_rnti(uint32_t enb_cc_idx) // Add new user to the scheduler so that it can RX/TX SRB0 srsenb::sched_nr_interface::ue_cfg_t ue_cfg = srsenb::get_default_ue_cfg(1); - ue_cfg.ue_bearers[0].direction = mac_lc_ch_cfg_t::IDLE; sched.ue_cfg(rnti, ue_cfg); return rnti; diff --git a/srsenb/src/stack/rrc/rrc_nr.cc b/srsenb/src/stack/rrc/rrc_nr.cc index 305f1d34b..5ffa439b6 100644 --- a/srsenb/src/stack/rrc/rrc_nr.cc +++ b/srsenb/src/stack/rrc/rrc_nr.cc @@ -1309,6 +1309,12 @@ void rrc_nr::ue::crnti_ce_received() if (endc) { // send SgNB addition complete for ENDC users parent->rrc_eutra->sgnb_addition_complete(eutra_rnti, rnti); + + // Add DRB1 to MAC + for (auto& drb : cell_group_cfg.rlc_bearer_to_add_mod_list) { + uecfg.ue_bearers[drb.lc_ch_id].direction = mac_lc_ch_cfg_t::BOTH; + } + parent->mac->ue_cfg(rnti, uecfg); } } @@ -1389,9 +1395,7 @@ int rrc_nr::ue::add_drb() srsran::pdcp_config_t pdcp_cnfg = srsran::make_drb_pdcp_config_t(drb_item.drb_id, false, drb_item.pdcp_cfg); parent->pdcp->add_bearer(rnti, rlc.lc_ch_id, pdcp_cnfg); - // Add DRB1 to MAC - uecfg.ue_bearers[rlc.lc_ch_id].direction = mac_lc_ch_cfg_t::BOTH; - parent->mac->ue_cfg(rnti, uecfg); + // Note: DRB1 is only activated in the MAC when the C-RNTI CE is received return SRSRAN_SUCCESS; }