remove EPS bearer deletion when going RRC idle

when going RRC idle, NAS gets informed and currently
clears all registered EPS bearers. This is wrong because
the EPS can outlive a RRC session.

Also in the conformance tests it's clearly seen
that after a RRC release a dedicatated EPS bearer is
created with a linked EPS bearer ID that has been
created _before_ RRC went idle.
This commit is contained in:
Andre Puschmann 2019-09-20 16:43:51 +02:00
parent 191e8d6520
commit 0e89f72846
1 changed files with 10 additions and 8 deletions

View File

@ -264,7 +264,8 @@ void nas::init(usim_interface_nas* usim_, rrc_interface_nas* rrc_, gw_interface_
running = true; running = true;
} }
void nas::stop() { void nas::stop()
{
running = false; running = false;
write_ctxt_file(ctxt); write_ctxt_file(ctxt);
} }
@ -277,7 +278,8 @@ void nas::get_metrics(nas_metrics_t* m)
*m = metrics; *m = metrics;
} }
emm_state_t nas::get_state() { emm_state_t nas::get_state()
{
return state; return state;
} }
@ -296,7 +298,6 @@ void nas::run_tti(uint32_t tti)
*/ */
void nas::start_attach_request(srslte::proc_state_t* result) void nas::start_attach_request(srslte::proc_state_t* result)
{ {
nas_log->info("Attach Request\n"); nas_log->info("Attach Request\n");
switch (state) { switch (state) {
case EMM_STATE_DEREGISTERED: case EMM_STATE_DEREGISTERED:
@ -381,12 +382,13 @@ bool nas::detach_request() {
return false; return false;
} }
void nas::leave_connected() { void nas::leave_connected()
eps_bearer.clear(); {
return; return;
} }
bool nas::is_attached() { bool nas::is_attached()
{
return state == EMM_STATE_REGISTERED; return state == EMM_STATE_REGISTERED;
} }