Change activation of GTP-U tunnel to after the reception of the reconfig complete.

master
Pedro Alvarez 3 years ago
parent bd08a64b5e
commit 8ef7ab536f

@ -975,6 +975,12 @@ void rrc::ue::rrc_mobility::handle_recfg_complete(wait_recfg_comp& s, const recf
uint64_t target_eci = (rrc_enb->cfg.enb_id << 8u) + target_cell->cell_common->cell_cfg.cell_id; uint64_t target_eci = (rrc_enb->cfg.enb_id << 8u) + target_cell->cell_common->cell_cfg.cell_id;
rrc_enb->s1ap->send_ho_notify(rrc_ue->rnti, target_eci); rrc_enb->s1ap->send_ho_notify(rrc_ue->rnti, target_eci);
// Enable forwarding of GTPU SDUs coming from Source eNB Tunnel to PDCP
auto& fwd_tunnels = get_state<s1_target_ho_st>()->pending_tunnels;
for (uint32_t teid : fwd_tunnels) {
rrc_enb->gtpu->set_tunnel_status(teid, true);
}
} }
void rrc::ue::rrc_mobility::handle_status_transfer(s1_target_ho_st& s, const status_transfer_ev& erabs) void rrc::ue::rrc_mobility::handle_status_transfer(s1_target_ho_st& s, const status_transfer_ev& erabs)
@ -1013,11 +1019,6 @@ void rrc::ue::rrc_mobility::handle_status_transfer(s1_target_ho_st& s, const sta
rrc_enb->pdcp->set_bearer_state(rrc_ue->rnti, drb_it->lc_ch_id, drb_state); rrc_enb->pdcp->set_bearer_state(rrc_ue->rnti, drb_it->lc_ch_id, drb_state);
} }
// Enable forwarding of GTPU SDUs coming from Source eNB Tunnel to PDCP
for (uint32_t teid : s.pending_tunnels) {
rrc_enb->gtpu->set_tunnel_status(teid, true);
}
// Check if there is any pending Reconfiguration Complete. If there is, self-trigger // Check if there is any pending Reconfiguration Complete. If there is, self-trigger
if (pending_recfg_complete.crit_exts.type().value != rrc_conn_recfg_complete_s::crit_exts_c_::types_opts::nulltype) { if (pending_recfg_complete.crit_exts.type().value != rrc_conn_recfg_complete_s::crit_exts_c_::types_opts::nulltype) {
trigger(pending_recfg_complete); trigger(pending_recfg_complete);

Loading…
Cancel
Save