diff --git a/srsenb/hdr/phy/cc_worker.h b/srsenb/hdr/phy/cc_worker.h index 4d3d60e05..bb63dd5a6 100644 --- a/srsenb/hdr/phy/cc_worker.h +++ b/srsenb/hdr/phy/cc_worker.h @@ -102,9 +102,9 @@ private: bool is_grant_available = false; srslte_phich_grant_t phich_grant = {}; - void metrics_read(phy_metrics_t* metrics); - void metrics_dl(uint32_t mcs); - void metrics_ul(uint32_t mcs, float rssi, float sinr, float turbo_iters); + void metrics_read(phy_metrics_t* metrics); + void metrics_dl(uint32_t mcs); + void metrics_ul(uint32_t mcs, float rssi, float sinr, float turbo_iters); uint32_t get_rnti() const { return rnti; } private: diff --git a/srsenb/hdr/stack/rrc/rrc_bearer_cfg.h b/srsenb/hdr/stack/rrc/rrc_bearer_cfg.h index 5f8c44181..4733f7e99 100644 --- a/srsenb/hdr/stack/rrc/rrc_bearer_cfg.h +++ b/srsenb/hdr/stack/rrc/rrc_bearer_cfg.h @@ -87,6 +87,7 @@ public: const std::map& get_erabs() const { return erabs; } const asn1::rrc::drb_to_add_mod_list_l& established_drbs() const { return last_drbs; } + const asn1::rrc::srb_to_add_mod_list_l& established_srbs() const { return last_srbs; } private: srslte::log_ref log_h{"RRC"}; diff --git a/srsenb/src/stack/mac/mac.cc b/srsenb/src/stack/mac/mac.cc index 85e4f92df..4ef080f3f 100644 --- a/srsenb/src/stack/mac/mac.cc +++ b/srsenb/src/stack/mac/mac.cc @@ -259,10 +259,7 @@ int mac::ue_set_crnti(uint16_t temp_crnti, uint16_t crnti, sched_interface::ue_c { srslte::rwlock_read_guard lock(rwlock); if (temp_crnti != crnti) { - // if RNTI is maintained, Msg3 contained a RRC Setup Request - // C-RNTI corresponds to older user. Handover scenario. - phy_h->rem_rnti(crnti); - phy_h->add_rnti(crnti, cfg->supported_cc_list[0].enb_cc_idx, false); + // if C-RNTI is changed, it corresponds to older user. Handover scenario. ue_db[crnti]->reset(); } int ret = ue_cfg(crnti, cfg); diff --git a/srsenb/src/stack/rrc/rrc.cc b/srsenb/src/stack/rrc/rrc.cc index 16a130e3c..81f62e71f 100644 --- a/srsenb/src/stack/rrc/rrc.cc +++ b/srsenb/src/stack/rrc/rrc.cc @@ -198,7 +198,7 @@ void rrc::upd_user(uint16_t new_rnti, uint16_t old_rnti) if (old_it->second->is_connected()) { old_it->second->send_connection_reconf_upd(srslte::allocate_unique_buffer(*pool)); } else { - old_it->second->send_connection_release(); + old_it->second->send_connection_reject(); } } }