mirror of https://github.com/PentHertz/srsLTE.git
delete erab if gtpu tunnel creation failed
This commit is contained in:
parent
c6d543efdf
commit
7c0649bc24
|
@ -408,7 +408,7 @@ void bearer_cfg_handler::rem_gtpu_bearer(uint32_t erab_id)
|
||||||
{
|
{
|
||||||
auto it = erabs.find(erab_id);
|
auto it = erabs.find(erab_id);
|
||||||
if (it == erabs.end()) {
|
if (it == erabs.end()) {
|
||||||
logger->error("Removing erab_id=%d from GTPU", erab_id);
|
logger->warning("Removing erab_id=%d from GTPU", erab_id);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
gtpu->rem_bearer(rnti, it->second.lcid);
|
gtpu->rem_bearer(rnti, it->second.lcid);
|
||||||
|
|
|
@ -916,6 +916,7 @@ bool rrc::ue::rrc_mobility::apply_ho_prep_cfg(const ho_prep_info_r8_ies_s&
|
||||||
erabs_failed_to_setup.back().erab_id = erab.erab_id;
|
erabs_failed_to_setup.back().erab_id = erab.erab_id;
|
||||||
erabs_failed_to_setup.back().cause.set_transport().value =
|
erabs_failed_to_setup.back().cause.set_transport().value =
|
||||||
asn1::s1ap::cause_transport_opts::transport_res_unavailable;
|
asn1::s1ap::cause_transport_opts::transport_res_unavailable;
|
||||||
|
rrc_ue->bearer_list.release_erab(erab.erab_id);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1079,6 +1079,7 @@ int rrc::ue::setup_erab(uint16_t erab_
|
||||||
}
|
}
|
||||||
if (bearer_list.add_gtpu_bearer(erab_id) != SRSRAN_SUCCESS) {
|
if (bearer_list.add_gtpu_bearer(erab_id) != SRSRAN_SUCCESS) {
|
||||||
cause.set_radio_network().value = asn1::s1ap::cause_radio_network_opts::radio_res_not_available;
|
cause.set_radio_network().value = asn1::s1ap::cause_radio_network_opts::radio_res_not_available;
|
||||||
|
bearer_list.release_erab(erab_id);
|
||||||
return SRSRAN_ERROR;
|
return SRSRAN_ERROR;
|
||||||
}
|
}
|
||||||
return SRSRAN_SUCCESS;
|
return SRSRAN_SUCCESS;
|
||||||
|
|
Loading…
Reference in New Issue