ue,gnb,rrc_nr: make sure that RLC is setup before PDCP, so the PDCP can know wether the RLC is UM or AM

master
Pedro Alvarez 3 years ago
parent 84cf5c30ec
commit cc93b5b6b0

@ -939,12 +939,14 @@ void rrc_nr::ue::send_connection_reest(uint8_t ncc)
// set NCC // set NCC
reest.next_hop_chaining_count = ncc; reest.next_hop_chaining_count = ncc;
// add PDCP bearers
update_pdcp_bearers(next_radio_bearer_cfg, next_cell_group_cfg);
// add RLC bearers // add RLC bearers
update_rlc_bearers(next_cell_group_cfg); update_rlc_bearers(next_cell_group_cfg);
// add PDCP bearers
// this is done after updating the RLC bearers,
// so the PDCP can query the RLC mode
update_pdcp_bearers(next_radio_bearer_cfg, next_cell_group_cfg);
// add MAC bearers // add MAC bearers
update_mac(next_cell_group_cfg, false); update_mac(next_cell_group_cfg, false);
@ -1010,12 +1012,14 @@ void rrc_nr::ue::send_rrc_setup()
logger.debug("Containerized MasterCellGroup: %s", js.to_string().c_str()); logger.debug("Containerized MasterCellGroup: %s", js.to_string().c_str());
} }
// add PDCP bearers
update_pdcp_bearers(setup_ies.radio_bearer_cfg, next_cell_group_cfg);
// add RLC bearers // add RLC bearers
update_rlc_bearers(next_cell_group_cfg); update_rlc_bearers(next_cell_group_cfg);
// add PDCP bearers
// this is done after updating the RLC bearers,
// so the PDCP can query the RLC mode
update_pdcp_bearers(next_radio_bearer_cfg, next_cell_group_cfg);
// add MAC bearers // add MAC bearers
update_mac(next_cell_group_cfg, false); update_mac(next_cell_group_cfg, false);
@ -1162,6 +1166,8 @@ void rrc_nr::ue::send_rrc_reconfiguration()
update_rlc_bearers(master_cell_group); update_rlc_bearers(master_cell_group);
// add PDCP bearers // add PDCP bearers
// this is done after updating the RLC bearers,
// so the PDCP can query the RLC mode
update_pdcp_bearers(ies.radio_bearer_cfg, master_cell_group); update_pdcp_bearers(ies.radio_bearer_cfg, master_cell_group);
} }

@ -324,13 +324,13 @@ srsran::proc_outcome_t rrc_nr::connection_setup_proc::init(const asn1::rrc_nr::r
// Stop T300 // Stop T300
rrc_handle.t300.stop(); rrc_handle.t300.stop();
// Apply the Radio Bearer configuration // Apply the Cell Group configuration
if (!rrc_handle.apply_radio_bearer_cfg(radio_bearer_cfg_)) { if (!rrc_handle.update_cell_group_cfg(cell_group_)) {
return proc_outcome_t::error; return proc_outcome_t::error;
} }
// Apply the Cell Group configuration // Apply the Radio Bearer configuration
if (!rrc_handle.update_cell_group_cfg(cell_group_)) { if (!rrc_handle.apply_radio_bearer_cfg(radio_bearer_cfg_)) {
return proc_outcome_t::error; return proc_outcome_t::error;
} }

Loading…
Cancel
Save