Move DRB activation/deactivation to after filling endc connectionReconfiguration (#3371)

* Move DRB activation/deactivation to after filling endc connectionReconfiguration

* Move bearer update in the scheduler to after filling endc connectionReconfiguration

Co-authored-by: Francisco Paisana <francisco.paisana@softwareradiosystems.com>
master
Ismael Gomez 3 years ago committed by GitHub
parent b6ea78dfd3
commit 2111788740
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -842,18 +842,6 @@ void rrc::ue::send_connection_reconf(srsran::unique_byte_buffer_t pdu,
return; return;
} }
/* Apply updates present in RRCConnectionReconfiguration to lower layers */
// apply PHY config
apply_reconf_phy_config(recfg_r8, true);
// setup SRB2/DRBs in PDCP and RLC
apply_rlc_rb_updates(recfg_r8.rr_cfg_ded);
apply_pdcp_srb_updates(recfg_r8.rr_cfg_ded);
apply_pdcp_drb_updates(recfg_r8.rr_cfg_ded);
// UE MAC scheduler updates
mac_ctrl.handle_con_reconf(recfg_r8, ue_capabilities);
// Fill in NAS PDU - Only for RRC Connection Reconfiguration during E-RAB Release Command // Fill in NAS PDU - Only for RRC Connection Reconfiguration during E-RAB Release Command
if (nas_pdu.size() > 0 and !recfg_r8.ded_info_nas_list_present) { if (nas_pdu.size() > 0 and !recfg_r8.ded_info_nas_list_present) {
recfg_r8.ded_info_nas_list_present = true; recfg_r8.ded_info_nas_list_present = true;
@ -869,6 +857,18 @@ void rrc::ue::send_connection_reconf(srsran::unique_byte_buffer_t pdu,
endc_handler->fill_conn_recfg(&recfg_r8); endc_handler->fill_conn_recfg(&recfg_r8);
} }
/* Apply updates present in RRCConnectionReconfiguration to lower layers */
// apply PHY config
apply_reconf_phy_config(recfg_r8, true);
// setup SRB2/DRBs in PDCP and RLC
apply_rlc_rb_updates(recfg_r8.rr_cfg_ded);
apply_pdcp_srb_updates(recfg_r8.rr_cfg_ded);
apply_pdcp_drb_updates(recfg_r8.rr_cfg_ded);
// UE MAC scheduler updates
mac_ctrl.handle_con_reconf(recfg_r8, ue_capabilities);
// Reuse same PDU // Reuse same PDU
if (pdu != nullptr) { if (pdu != nullptr) {
pdu->clear(); pdu->clear();

Loading…
Cancel
Save